﻿2026-06-17T06:47:31.5899026Z ##[group]Run ./traceable-reqs check --json
2026-06-17T06:47:31.5900111Z [36;1m./traceable-reqs check --json[0m
2026-06-17T06:47:31.5913592Z shell: /usr/bin/bash -e {0}
2026-06-17T06:47:31.5914358Z ##[endgroup]
2026-06-17T06:47:31.6129282Z {
2026-06-17T06:47:31.6130485Z   "schemaVersion": 1,
2026-06-17T06:47:31.6131726Z   "summary": {
2026-06-17T06:47:31.6132896Z     "requirementCount": 222,
2026-06-17T06:47:31.6134273Z     "completeCount": 222,
2026-06-17T06:47:31.6135468Z     "incompleteCount": 0,
2026-06-17T06:47:31.6136859Z     "findingCount": 0
2026-06-17T06:47:31.6137793Z   },
2026-06-17T06:47:31.6138644Z   "requirements": [
2026-06-17T06:47:31.6139655Z     {
2026-06-17T06:47:31.6140538Z       "id": "REQ-API-1",
2026-06-17T06:47:31.6141947Z       "title": "api prefix and adapter_name on every machinery invocation",
2026-06-17T06:47:31.6143588Z       "requiredStages": [
2026-06-17T06:47:31.6144586Z         "impl",
2026-06-17T06:47:31.6145468Z         "unit",
2026-06-17T06:47:31.6146357Z         "int"
2026-06-17T06:47:31.6147281Z       ],
2026-06-17T06:47:31.6148121Z       "stages": {
2026-06-17T06:47:31.6149085Z         "doc": {
2026-06-17T06:47:31.6150028Z           "complete": false,
2026-06-17T06:47:31.6151079Z           "evidence": []
2026-06-17T06:47:31.6152050Z         },
2026-06-17T06:47:31.6152888Z         "impl": {
2026-06-17T06:47:31.6153805Z           "complete": true,
2026-06-17T06:47:31.6154845Z           "evidence": [
2026-06-17T06:47:31.6155785Z             {
2026-06-17T06:47:31.6156749Z               "path": "crates/spt/src/api/mod.rs",
2026-06-17T06:47:31.6157993Z               "line": 15
2026-06-17T06:47:31.6159013Z             }
2026-06-17T06:47:31.6159854Z           ]
2026-06-17T06:47:31.6160690Z         },
2026-06-17T06:47:31.6161509Z         "int": {
2026-06-17T06:47:31.6164347Z           "complete": true,
2026-06-17T06:47:31.6165391Z           "evidence": [
2026-06-17T06:47:31.6166335Z             {
2026-06-17T06:47:31.6167352Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-17T06:47:31.6168688Z               "line": 13
2026-06-17T06:47:31.6169720Z             }
2026-06-17T06:47:31.6170568Z           ]
2026-06-17T06:47:31.6171401Z         },
2026-06-17T06:47:31.6172233Z         "unit": {
2026-06-17T06:47:31.6173161Z           "complete": true,
2026-06-17T06:47:31.6174033Z           "evidence": [
2026-06-17T06:47:31.6174733Z             {
2026-06-17T06:47:31.6175413Z               "path": "crates/spt/src/api/mod.rs",
2026-06-17T06:47:31.6176314Z               "line": 574
2026-06-17T06:47:31.6177006Z             },
2026-06-17T06:47:31.6177600Z             {
2026-06-17T06:47:31.6178270Z               "path": "crates/spt/src/api/mod.rs",
2026-06-17T06:47:31.6179224Z               "line": 691
2026-06-17T06:47:31.6179892Z             },
2026-06-17T06:47:31.6180484Z             {
2026-06-17T06:47:31.6181147Z               "path": "crates/spt/src/api/mod.rs",
2026-06-17T06:47:31.6182034Z               "line": 778
2026-06-17T06:47:31.6182717Z             }
2026-06-17T06:47:31.6183314Z           ]
2026-06-17T06:47:31.6183891Z         }
2026-06-17T06:47:31.6184459Z       }
2026-06-17T06:47:31.6185028Z     },
2026-06-17T06:47:31.6185595Z     {
2026-06-17T06:47:31.6186172Z       "id": "REQ-API-2",
2026-06-17T06:47:31.6187298Z       "title": "The api subcommand surface (bind/listen/poll/state/worker/boundary/...)",
2026-06-17T06:47:31.6188602Z       "requiredStages": [
2026-06-17T06:47:31.6189698Z         "impl",
2026-06-17T06:47:31.6190598Z         "unit",
2026-06-17T06:47:31.6191483Z         "int"
2026-06-17T06:47:31.6192332Z       ],
2026-06-17T06:47:31.6193194Z       "stages": {
2026-06-17T06:47:31.6194048Z         "doc": {
2026-06-17T06:47:31.6194968Z           "complete": false,
2026-06-17T06:47:31.6196032Z           "evidence": []
2026-06-17T06:47:31.6197009Z         },
2026-06-17T06:47:31.6197863Z         "impl": {
2026-06-17T06:47:31.6198805Z           "complete": true,
2026-06-17T06:47:31.6199900Z           "evidence": [
2026-06-17T06:47:31.6200840Z             {
2026-06-17T06:47:31.6202214Z               "path": "crates/spt-store/src/history.rs",
2026-06-17T06:47:31.6203513Z               "line": 17
2026-06-17T06:47:31.6204479Z             },
2026-06-17T06:47:31.6205345Z             {
2026-06-17T06:47:31.6206350Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-17T06:47:31.6207661Z               "line": 20
2026-06-17T06:47:31.6208658Z             },
2026-06-17T06:47:31.6209431Z             {
2026-06-17T06:47:31.6210145Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-17T06:47:31.6211229Z               "line": 142
2026-06-17T06:47:31.6211932Z             },
2026-06-17T06:47:31.6212541Z             {
2026-06-17T06:47:31.6213270Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T06:47:31.6214200Z               "line": 24
2026-06-17T06:47:31.6214867Z             },
2026-06-17T06:47:31.6215473Z             {
2026-06-17T06:47:31.6216417Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T06:47:31.6217344Z               "line": 41
2026-06-17T06:47:31.6218025Z             },
2026-06-17T06:47:31.6218640Z             {
2026-06-17T06:47:31.6219436Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T06:47:31.6220391Z               "line": 209
2026-06-17T06:47:31.6221078Z             },
2026-06-17T06:47:31.6221698Z             {
2026-06-17T06:47:31.6222426Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T06:47:31.6223369Z               "line": 251
2026-06-17T06:47:31.6224055Z             },
2026-06-17T06:47:31.6224667Z             {
2026-06-17T06:47:31.6225380Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T06:47:31.6226348Z               "line": 330
2026-06-17T06:47:31.6227038Z             },
2026-06-17T06:47:31.6227642Z             {
2026-06-17T06:47:31.6228375Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T06:47:31.6229366Z               "line": 393
2026-06-17T06:47:31.6230054Z             },
2026-06-17T06:47:31.6230660Z             {
2026-06-17T06:47:31.6231396Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T06:47:31.6232340Z               "line": 432
2026-06-17T06:47:31.6233029Z             },
2026-06-17T06:47:31.6233629Z             {
2026-06-17T06:47:31.6234333Z               "path": "crates/spt/src/api/worker.rs",
2026-06-17T06:47:31.6235250Z               "line": 17
2026-06-17T06:47:31.6235921Z             },
2026-06-17T06:47:31.6236517Z             {
2026-06-17T06:47:31.6237208Z               "path": "crates/spt/src/api/worker.rs",
2026-06-17T06:47:31.6238127Z               "line": 30
2026-06-17T06:47:31.6238798Z             },
2026-06-17T06:47:31.6239451Z             {
2026-06-17T06:47:31.6240155Z               "path": "crates/spt/src/api/worker.rs",
2026-06-17T06:47:31.6241074Z               "line": 63
2026-06-17T06:47:31.6241750Z             },
2026-06-17T06:47:31.6242360Z             {
2026-06-17T06:47:31.6243051Z               "path": "crates/spt/src/api/worker.rs",
2026-06-17T06:47:31.6243946Z               "line": 77
2026-06-17T06:47:31.6244637Z             }
2026-06-17T06:47:31.6245218Z           ]
2026-06-17T06:47:31.6245801Z         },
2026-06-17T06:47:31.6246371Z         "int": {
2026-06-17T06:47:31.6247005Z           "complete": true,
2026-06-17T06:47:31.6247712Z           "evidence": [
2026-06-17T06:47:31.6248379Z             {
2026-06-17T06:47:31.6249157Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-17T06:47:31.6250091Z               "line": 14
2026-06-17T06:47:31.6250764Z             },
2026-06-17T06:47:31.6251359Z             {
2026-06-17T06:47:31.6252071Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-17T06:47:31.6253016Z               "line": 187
2026-06-17T06:47:31.6253698Z             }
2026-06-17T06:47:31.6254276Z           ]
2026-06-17T06:47:31.6254919Z         },
2026-06-17T06:47:31.6255516Z         "unit": {
2026-06-17T06:47:31.6256193Z           "complete": true,
2026-06-17T06:47:31.6257094Z           "evidence": [
2026-06-17T06:47:31.6257822Z             {
2026-06-17T06:47:31.6258828Z               "path": "crates/spt-store/src/history.rs",
2026-06-17T06:47:31.6260637Z               "line": 82
2026-06-17T06:47:31.6261562Z             },
2026-06-17T06:47:31.6262326Z             {
2026-06-17T06:47:31.6263270Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-17T06:47:31.6264643Z               "line": 279
2026-06-17T06:47:31.6265512Z             },
2026-06-17T06:47:31.6266133Z             {
2026-06-17T06:47:31.6266849Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T06:47:31.6268020Z               "line": 705
2026-06-17T06:47:31.6268706Z             },
2026-06-17T06:47:31.6269365Z             {
2026-06-17T06:47:31.6270077Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T06:47:31.6271017Z               "line": 716
2026-06-17T06:47:31.6271694Z             },
2026-06-17T06:47:31.6272281Z             {
2026-06-17T06:47:31.6272997Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T06:47:31.6273932Z               "line": 869
2026-06-17T06:47:31.6274633Z             },
2026-06-17T06:47:31.6275236Z             {
2026-06-17T06:47:31.6275936Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T06:47:31.6276861Z               "line": 915
2026-06-17T06:47:31.6277523Z             },
2026-06-17T06:47:31.6278298Z             {
2026-06-17T06:47:31.6279196Z               "path": "crates/spt/src/api/worker.rs",
2026-06-17T06:47:31.6280229Z               "line": 143
2026-06-17T06:47:31.6281066Z             },
2026-06-17T06:47:31.6281763Z             {
2026-06-17T06:47:31.6282559Z               "path": "crates/spt/src/api/worker.rs",
2026-06-17T06:47:31.6283571Z               "line": 187
2026-06-17T06:47:31.6284352Z             }
2026-06-17T06:47:31.6285068Z           ]
2026-06-17T06:47:31.6285725Z         }
2026-06-17T06:47:31.6286352Z       }
2026-06-17T06:47:31.6324847Z     },
2026-06-17T06:47:31.6325522Z     {
2026-06-17T06:47:31.6326098Z       "id": "REQ-API-3",
2026-06-17T06:47:31.6326970Z       "title": "commune/signoff are file-drops, not commands",
2026-06-17T06:47:31.6328013Z       "requiredStages": [
2026-06-17T06:47:31.6328679Z         "impl",
2026-06-17T06:47:31.6329461Z         "unit",
2026-06-17T06:47:31.6330042Z         "int"
2026-06-17T06:47:31.6330639Z       ],
2026-06-17T06:47:31.6331195Z       "stages": {
2026-06-17T06:47:31.6331806Z         "doc": {
2026-06-17T06:47:31.6332435Z           "complete": false,
2026-06-17T06:47:31.6333168Z           "evidence": []
2026-06-17T06:47:31.6333853Z         },
2026-06-17T06:47:31.6334416Z         "impl": {
2026-06-17T06:47:31.6335031Z           "complete": true,
2026-06-17T06:47:31.6335742Z           "evidence": [
2026-06-17T06:47:31.6336391Z             {
2026-06-17T06:47:31.6337082Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-17T06:47:31.6337989Z               "line": 27
2026-06-17T06:47:31.6338654Z             },
2026-06-17T06:47:31.6339320Z             {
2026-06-17T06:47:31.6340040Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T06:47:31.6340964Z               "line": 562
2026-06-17T06:47:31.6341645Z             }
2026-06-17T06:47:31.6342233Z           ]
2026-06-17T06:47:31.6342805Z         },
2026-06-17T06:47:31.6343354Z         "int": {
2026-06-17T06:47:31.6343974Z           "complete": true,
2026-06-17T06:47:31.6344676Z           "evidence": [
2026-06-17T06:47:31.6345324Z             {
2026-06-17T06:47:31.6346024Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-17T06:47:31.6346947Z               "line": 261
2026-06-17T06:47:31.6347614Z             }
2026-06-17T06:47:31.6348196Z           ]
2026-06-17T06:47:31.6348754Z         },
2026-06-17T06:47:31.6349379Z         "unit": {
2026-06-17T06:47:31.6349989Z           "complete": true,
2026-06-17T06:47:31.6350695Z           "evidence": [
2026-06-17T06:47:31.6351340Z             {
2026-06-17T06:47:31.6352020Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-17T06:47:31.6352916Z               "line": 280
2026-06-17T06:47:31.6353585Z             },
2026-06-17T06:47:31.6354405Z             {
2026-06-17T06:47:31.6355111Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T06:47:31.6356031Z               "line": 944
2026-06-17T06:47:31.6356694Z             }
2026-06-17T06:47:31.6357254Z           ]
2026-06-17T06:47:31.6357803Z         }
2026-06-17T06:47:31.6358345Z       }
2026-06-17T06:47:31.6358874Z     },
2026-06-17T06:47:31.6359513Z     {
2026-06-17T06:47:31.6360064Z       "id": "REQ-API-4",
2026-06-17T06:47:31.6365728Z       "title": "api resolves the adapter manifest (+ profile + install dir) from `--adapter name:profile` via the registry when `--manifest` is omitted; `--manifest` becomes an optional OVERRIDE (unregistered / local-dev manifests). Removes the require-both-flags redundancy — a registered adapter's live bringup / digest / capability needs only `--adapter` — and yields the precise install dir (the record's source_dir) rather than the --manifest parent, closing the copy-mode psyche-binary edge (v0.8.0)",
2026-06-17T06:47:31.6371225Z       "requiredStages": [
2026-06-17T06:47:31.6371911Z         "doc",
2026-06-17T06:47:31.6372489Z         "impl",
2026-06-17T06:47:31.6373083Z         "unit"
2026-06-17T06:47:31.6373664Z       ],
2026-06-17T06:47:31.6374218Z       "stages": {
2026-06-17T06:47:31.6374814Z         "doc": {
2026-06-17T06:47:31.6375423Z           "complete": true,
2026-06-17T06:47:31.6376132Z           "evidence": [
2026-06-17T06:47:31.6376756Z             {
2026-06-17T06:47:31.6377376Z               "path": "CONTEXT.md",
2026-06-17T06:47:31.6378152Z               "line": 149
2026-06-17T06:47:31.6378802Z             }
2026-06-17T06:47:31.6379690Z           ]
2026-06-17T06:47:31.6380267Z         },
2026-06-17T06:47:31.6380823Z         "impl": {
2026-06-17T06:47:31.6381432Z           "complete": true,
2026-06-17T06:47:31.6382129Z           "evidence": [
2026-06-17T06:47:31.6382763Z             {
2026-06-17T06:47:31.6383444Z               "path": "crates/spt/src/api/mod.rs",
2026-06-17T06:47:31.6384311Z               "line": 479
2026-06-17T06:47:31.6384993Z             }
2026-06-17T06:47:31.6385560Z           ]
2026-06-17T06:47:31.6386114Z         },
2026-06-17T06:47:31.6386668Z         "int": {
2026-06-17T06:47:31.6387283Z           "complete": false,
2026-06-17T06:47:31.6387988Z           "evidence": []
2026-06-17T06:47:31.6388646Z         },
2026-06-17T06:47:31.6389263Z         "unit": {
2026-06-17T06:47:31.6389878Z           "complete": true,
2026-06-17T06:47:31.6390569Z           "evidence": [
2026-06-17T06:47:31.6391212Z             {
2026-06-17T06:47:31.6391863Z               "path": "crates/spt/src/api/mod.rs",
2026-06-17T06:47:31.6392735Z               "line": 631
2026-06-17T06:47:31.6393407Z             },
2026-06-17T06:47:31.6393967Z             {
2026-06-17T06:47:31.6394614Z               "path": "crates/spt/src/api/mod.rs",
2026-06-17T06:47:31.6395476Z               "line": 655
2026-06-17T06:47:31.6396125Z             },
2026-06-17T06:47:31.6396693Z             {
2026-06-17T06:47:31.6397337Z               "path": "crates/spt/src/api/mod.rs",
2026-06-17T06:47:31.6398205Z               "line": 679
2026-06-17T06:47:31.6398868Z             }
2026-06-17T06:47:31.6399499Z           ]
2026-06-17T06:47:31.6400048Z         }
2026-06-17T06:47:31.6400586Z       }
2026-06-17T06:47:31.6401124Z     },
2026-06-17T06:47:31.6401664Z     {
2026-06-17T06:47:31.6402208Z       "id": "REQ-ARCH-1",
2026-06-17T06:47:31.6403010Z       "title": "Many small acyclically-layered crates",
2026-06-17T06:47:31.6403949Z       "requiredStages": [
2026-06-17T06:47:31.6404630Z         "impl"
2026-06-17T06:47:31.6405202Z       ],
2026-06-17T06:47:31.6405741Z       "stages": {
2026-06-17T06:47:31.6406332Z         "doc": {
2026-06-17T06:47:31.6406946Z           "complete": false,
2026-06-17T06:47:31.6407650Z           "evidence": []
2026-06-17T06:47:31.6408294Z         },
2026-06-17T06:47:31.6408846Z         "impl": {
2026-06-17T06:47:31.6409528Z           "complete": true,
2026-06-17T06:47:31.6410216Z           "evidence": [
2026-06-17T06:47:31.6410998Z             {
2026-06-17T06:47:31.6411647Z               "path": "crates/spt-msg/src/lib.rs",
2026-06-17T06:47:31.6412513Z               "line": 18
2026-06-17T06:47:31.6413160Z             },
2026-06-17T06:47:31.6413732Z             {
2026-06-17T06:47:31.6414386Z               "path": "crates/spt-proto/src/lib.rs",
2026-06-17T06:47:31.6415261Z               "line": 12
2026-06-17T06:47:31.6415909Z             },
2026-06-17T06:47:31.6416463Z             {
2026-06-17T06:47:31.6417130Z               "path": "crates/spt-store/src/lib.rs",
2026-06-17T06:47:31.6418123Z               "line": 12
2026-06-17T06:47:31.6418777Z             }
2026-06-17T06:47:31.6419449Z           ]
2026-06-17T06:47:31.6419997Z         },
2026-06-17T06:47:31.6420549Z         "int": {
2026-06-17T06:47:31.6421154Z           "complete": false,
2026-06-17T06:47:31.6421859Z           "evidence": []
2026-06-17T06:47:31.6422507Z         },
2026-06-17T06:47:31.6423064Z         "unit": {
2026-06-17T06:47:31.6423682Z           "complete": false,
2026-06-17T06:47:31.6424388Z           "evidence": []
2026-06-17T06:47:31.6425046Z         }
2026-06-17T06:47:31.6425595Z       }
2026-06-17T06:47:31.6426126Z     },
2026-06-17T06:47:31.6426656Z     {
2026-06-17T06:47:31.6427205Z       "id": "REQ-ARCH-2",
2026-06-17T06:47:31.6428138Z       "title": "Public SDK surface is spt-proto, spt-runtime, spt-msg",
2026-06-17T06:47:31.6429327Z       "requiredStages": [
2026-06-17T06:47:31.6430033Z         "impl"
2026-06-17T06:47:31.6430653Z       ],
2026-06-17T06:47:31.6431241Z       "stages": {
2026-06-17T06:47:31.6431828Z         "doc": {
2026-06-17T06:47:31.6432433Z           "complete": false,
2026-06-17T06:47:31.6433143Z           "evidence": []
2026-06-17T06:47:31.6433817Z         },
2026-06-17T06:47:31.6434376Z         "impl": {
2026-06-17T06:47:31.6434995Z           "complete": true,
2026-06-17T06:47:31.6435686Z           "evidence": [
2026-06-17T06:47:31.6436330Z             {
2026-06-17T06:47:31.6437006Z               "path": "crates/spt-runtime/src/lib.rs",
2026-06-17T06:47:31.6437884Z               "line": 18
2026-06-17T06:47:31.6438532Z             }
2026-06-17T06:47:31.6439178Z           ]
2026-06-17T06:47:31.6439731Z         },
2026-06-17T06:47:31.6440288Z         "int": {
2026-06-17T06:47:31.6440908Z           "complete": false,
2026-06-17T06:47:31.6441608Z           "evidence": []
2026-06-17T06:47:31.6442270Z         },
2026-06-17T06:47:31.6442821Z         "unit": {
2026-06-17T06:47:31.6443446Z           "complete": false,
2026-06-17T06:47:31.6444165Z           "evidence": []
2026-06-17T06:47:31.6444812Z         }
2026-06-17T06:47:31.6445369Z       }
2026-06-17T06:47:31.6445904Z     },
2026-06-17T06:47:31.6446434Z     {
2026-06-17T06:47:31.6446994Z       "id": "REQ-ARCH-3",
2026-06-17T06:47:31.6448058Z       "title": "Wire-protocol version independent of crate semver, N-1 compat window",
2026-06-17T06:47:31.6449372Z       "requiredStages": [
2026-06-17T06:47:31.6450081Z         "impl",
2026-06-17T06:47:31.6450663Z         "unit"
2026-06-17T06:47:31.6451231Z       ],
2026-06-17T06:47:31.6451784Z       "stages": {
2026-06-17T06:47:31.6452385Z         "doc": {
2026-06-17T06:47:31.6452990Z           "complete": false,
2026-06-17T06:47:31.6453696Z           "evidence": []
2026-06-17T06:47:31.6454360Z         },
2026-06-17T06:47:31.6454914Z         "impl": {
2026-06-17T06:47:31.6455529Z           "complete": true,
2026-06-17T06:47:31.6456215Z           "evidence": [
2026-06-17T06:47:31.6456859Z             {
2026-06-17T06:47:31.6457544Z               "path": "crates/spt-proto/src/version.rs",
2026-06-17T06:47:31.6458446Z               "line": 34
2026-06-17T06:47:31.6459157Z             },
2026-06-17T06:47:31.6459742Z             {
2026-06-17T06:47:31.6460440Z               "path": "crates/spt-proto/src/version.rs",
2026-06-17T06:47:31.6461332Z               "line": 41
2026-06-17T06:47:31.6461976Z             }
2026-06-17T06:47:31.6462543Z           ]
2026-06-17T06:47:31.6463089Z         },
2026-06-17T06:47:31.6463646Z         "int": {
2026-06-17T06:47:31.6464424Z           "complete": false,
2026-06-17T06:47:31.6465133Z           "evidence": []
2026-06-17T06:47:31.6465846Z         },
2026-06-17T06:47:31.6466441Z         "unit": {
2026-06-17T06:47:31.6467080Z           "complete": true,
2026-06-17T06:47:31.6467777Z           "evidence": [
2026-06-17T06:47:31.6468429Z             {
2026-06-17T06:47:31.6469211Z               "path": "crates/spt-proto/src/version.rs",
2026-06-17T06:47:31.6470335Z               "line": 51
2026-06-17T06:47:31.6470996Z             },
2026-06-17T06:47:31.6471698Z             {
2026-06-17T06:47:31.6472398Z               "path": "crates/spt-proto/src/version.rs",
2026-06-17T06:47:31.6473289Z               "line": 71
2026-06-17T06:47:31.6473940Z             },
2026-06-17T06:47:31.6474516Z             {
2026-06-17T06:47:31.6475242Z               "path": "crates/spt-proto/src/version.rs",
2026-06-17T06:47:31.6476348Z               "line": 83
2026-06-17T06:47:31.6477001Z             }
2026-06-17T06:47:31.6477584Z           ]
2026-06-17T06:47:31.6478143Z         }
2026-06-17T06:47:31.6478684Z       }
2026-06-17T06:47:31.6479299Z     },
2026-06-17T06:47:31.6479838Z     {
2026-06-17T06:47:31.6480396Z       "id": "REQ-ARCH-4",
2026-06-17T06:47:31.6481371Z       "title": "Copy-verbatim the commodity layer from the sister project",
2026-06-17T06:47:31.6482481Z       "requiredStages": [
2026-06-17T06:47:31.6483154Z         "impl",
2026-06-17T06:47:31.6483743Z         "unit"
2026-06-17T06:47:31.6484366Z       ],
2026-06-17T06:47:31.6484981Z       "stages": {
2026-06-17T06:47:31.6485591Z         "doc": {
2026-06-17T06:47:31.6486221Z           "complete": false,
2026-06-17T06:47:31.6486923Z           "evidence": []
2026-06-17T06:47:31.6487566Z         },
2026-06-17T06:47:31.6488129Z         "impl": {
2026-06-17T06:47:31.6488750Z           "complete": true,
2026-06-17T06:47:31.6489492Z           "evidence": [
2026-06-17T06:47:31.6490131Z             {
2026-06-17T06:47:31.6490794Z               "path": "crates/spt-proto/src/event.rs",
2026-06-17T06:47:31.6491687Z               "line": 165
2026-06-17T06:47:31.6492349Z             },
2026-06-17T06:47:31.6492927Z             {
2026-06-17T06:47:31.6493594Z               "path": "crates/spt-proto/src/event.rs",
2026-06-17T06:47:31.6494470Z               "line": 188
2026-06-17T06:47:31.6495122Z             },
2026-06-17T06:47:31.6495695Z             {
2026-06-17T06:47:31.6496367Z               "path": "crates/spt-proto/src/event.rs",
2026-06-17T06:47:31.6497240Z               "line": 208
2026-06-17T06:47:31.6497913Z             },
2026-06-17T06:47:31.6498484Z             {
2026-06-17T06:47:31.6499239Z               "path": "crates/spt-proto/src/event.rs",
2026-06-17T06:47:31.6500114Z               "line": 223
2026-06-17T06:47:31.6500758Z             },
2026-06-17T06:47:31.6501354Z             {
2026-06-17T06:47:31.6502025Z               "path": "crates/spt-proto/src/event.rs",
2026-06-17T06:47:31.6502886Z               "line": 273
2026-06-17T06:47:31.6503534Z             }
2026-06-17T06:47:31.6504116Z           ]
2026-06-17T06:47:31.6504666Z         },
2026-06-17T06:47:31.6505228Z         "int": {
2026-06-17T06:47:31.6505834Z           "complete": false,
2026-06-17T06:47:31.6506545Z           "evidence": []
2026-06-17T06:47:31.6507214Z         },
2026-06-17T06:47:31.6507776Z         "unit": {
2026-06-17T06:47:31.6508395Z           "complete": true,
2026-06-17T06:47:31.6509170Z           "evidence": [
2026-06-17T06:47:31.6509799Z             {
2026-06-17T06:47:31.6510466Z               "path": "crates/spt-proto/src/event.rs",
2026-06-17T06:47:31.6511342Z               "line": 334
2026-06-17T06:47:31.6512006Z             },
2026-06-17T06:47:31.6512590Z             {
2026-06-17T06:47:31.6513270Z               "path": "crates/spt-proto/src/event.rs",
2026-06-17T06:47:31.6514324Z               "line": 344
2026-06-17T06:47:31.6514996Z             },
2026-06-17T06:47:31.6515572Z             {
2026-06-17T06:47:31.6516242Z               "path": "crates/spt-proto/src/event.rs",
2026-06-17T06:47:31.6517115Z               "line": 355
2026-06-17T06:47:31.6517929Z             },
2026-06-17T06:47:31.6518514Z             {
2026-06-17T06:47:31.6519285Z               "path": "crates/spt-proto/src/event.rs",
2026-06-17T06:47:31.6520182Z               "line": 366
2026-06-17T06:47:31.6520839Z             },
2026-06-17T06:47:31.6521412Z             {
2026-06-17T06:47:31.6522089Z               "path": "crates/spt-proto/src/event.rs",
2026-06-17T06:47:31.6522971Z               "line": 378
2026-06-17T06:47:31.6523616Z             },
2026-06-17T06:47:31.6524312Z             {
2026-06-17T06:47:31.6524989Z               "path": "crates/spt-proto/src/event.rs",
2026-06-17T06:47:31.6525867Z               "line": 391
2026-06-17T06:47:31.6526517Z             },
2026-06-17T06:47:31.6527103Z             {
2026-06-17T06:47:31.6527770Z               "path": "crates/spt-proto/src/event.rs",
2026-06-17T06:47:31.6528646Z               "line": 402
2026-06-17T06:47:31.6529393Z             },
2026-06-17T06:47:31.6529980Z             {
2026-06-17T06:47:31.6530661Z               "path": "crates/spt-proto/src/event.rs",
2026-06-17T06:47:31.6531547Z               "line": 419
2026-06-17T06:47:31.6532210Z             },
2026-06-17T06:47:31.6532792Z             {
2026-06-17T06:47:31.6533465Z               "path": "crates/spt-proto/src/event.rs",
2026-06-17T06:47:31.6534347Z               "line": 547
2026-06-17T06:47:31.6535000Z             }
2026-06-17T06:47:31.6535586Z           ]
2026-06-17T06:47:31.6536154Z         }
2026-06-17T06:47:31.6536692Z       }
2026-06-17T06:47:31.6537238Z     },
2026-06-17T06:47:31.6537772Z     {
2026-06-17T06:47:31.6538321Z       "id": "REQ-CLI-1",
2026-06-17T06:47:31.6542470Z       "title": "spt endpoint noun namespace: absorbs fork/suspend/wake/shutdown/rename/stop/digest + access (ported 1:1: allow|revoke|open|list, decision 21) + description (ex-resources blurb; bare=show, set=author); merged endpoint list [--local|--subnet <name>] grouped by subnet with SELF pinned, --detail adding the ex-resources yellow-pages blurb projection; bare spt endpoint = the list (M8 decisions 1-2, 25)",
2026-06-17T06:47:31.6546723Z       "requiredStages": [
2026-06-17T06:47:31.6547393Z         "impl",
2026-06-17T06:47:31.6547976Z         "unit"
2026-06-17T06:47:31.6548548Z       ],
2026-06-17T06:47:31.6549153Z       "stages": {
2026-06-17T06:47:31.6549752Z         "doc": {
2026-06-17T06:47:31.6550360Z           "complete": false,
2026-06-17T06:47:31.6551062Z           "evidence": []
2026-06-17T06:47:31.6551711Z         },
2026-06-17T06:47:31.6552263Z         "impl": {
2026-06-17T06:47:31.6552886Z           "complete": true,
2026-06-17T06:47:31.6553569Z           "evidence": [
2026-06-17T06:47:31.6554198Z             {
2026-06-17T06:47:31.6554835Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.6555668Z               "line": 225
2026-06-17T06:47:31.6565068Z             },
2026-06-17T06:47:31.6565679Z             {
2026-06-17T06:47:31.6566323Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.6567172Z               "line": 1045
2026-06-17T06:47:31.6567858Z             },
2026-06-17T06:47:31.6568456Z             {
2026-06-17T06:47:31.6569190Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.6570039Z               "line": 1573
2026-06-17T06:47:31.6570692Z             },
2026-06-17T06:47:31.6571272Z             {
2026-06-17T06:47:31.6571929Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.6572754Z               "line": 2866
2026-06-17T06:47:31.6573413Z             }
2026-06-17T06:47:31.6573987Z           ]
2026-06-17T06:47:31.6574560Z         },
2026-06-17T06:47:31.6575118Z         "int": {
2026-06-17T06:47:31.6575748Z           "complete": false,
2026-06-17T06:47:31.6576459Z           "evidence": []
2026-06-17T06:47:31.6577122Z         },
2026-06-17T06:47:31.6577675Z         "unit": {
2026-06-17T06:47:31.6578287Z           "complete": true,
2026-06-17T06:47:31.6579045Z           "evidence": [
2026-06-17T06:47:31.6579712Z             {
2026-06-17T06:47:31.6580351Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.6581375Z               "line": 7278
2026-06-17T06:47:31.6582055Z             }
2026-06-17T06:47:31.6582627Z           ]
2026-06-17T06:47:31.6583171Z         }
2026-06-17T06:47:31.6583711Z       }
2026-06-17T06:47:31.6584242Z     },
2026-06-17T06:47:31.6584782Z     {
2026-06-17T06:47:31.6585354Z       "id": "REQ-CLI-2",
2026-06-17T06:47:31.6588207Z       "title": "spt daemon noun: run|stop|status (hidden daemon verb becomes daemon run; agent-endpoint shutdown keeps its name under endpoint); daemon status renders the pump heartbeat (last-tick recency) so a half-dead daemon is never rendered implied-healthy (M8 decisions 5, 23)",
2026-06-17T06:47:31.6591441Z       "requiredStages": [
2026-06-17T06:47:31.6592125Z         "impl",
2026-06-17T06:47:31.6592711Z         "unit"
2026-06-17T06:47:31.6593274Z       ],
2026-06-17T06:47:31.6593826Z       "stages": {
2026-06-17T06:47:31.6594412Z         "doc": {
2026-06-17T06:47:31.6595065Z           "complete": false,
2026-06-17T06:47:31.6595770Z           "evidence": []
2026-06-17T06:47:31.6596443Z         },
2026-06-17T06:47:31.6597009Z         "impl": {
2026-06-17T06:47:31.6597627Z           "complete": true,
2026-06-17T06:47:31.6598299Z           "evidence": [
2026-06-17T06:47:31.6598933Z             {
2026-06-17T06:47:31.6599698Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-17T06:47:31.6600584Z               "line": 382
2026-06-17T06:47:31.6601233Z             },
2026-06-17T06:47:31.6601795Z             {
2026-06-17T06:47:31.6602495Z               "path": "crates/spt-daemon/src/endpoint.rs",
2026-06-17T06:47:31.6603389Z               "line": 97
2026-06-17T06:47:31.6604038Z             },
2026-06-17T06:47:31.6604601Z             {
2026-06-17T06:47:31.6605292Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-17T06:47:31.6606188Z               "line": 239
2026-06-17T06:47:31.6606836Z             },
2026-06-17T06:47:31.6607400Z             {
2026-06-17T06:47:31.6608025Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.6608863Z               "line": 419
2026-06-17T06:47:31.6609575Z             },
2026-06-17T06:47:31.6610142Z             {
2026-06-17T06:47:31.6610768Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.6611603Z               "line": 1128
2026-06-17T06:47:31.6612265Z             },
2026-06-17T06:47:31.6612815Z             {
2026-06-17T06:47:31.6613444Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.6614269Z               "line": 1774
2026-06-17T06:47:31.6614918Z             },
2026-06-17T06:47:31.6615499Z             {
2026-06-17T06:47:31.6616124Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.6616939Z               "line": 1853
2026-06-17T06:47:31.6617593Z             },
2026-06-17T06:47:31.6618144Z             {
2026-06-17T06:47:31.6618766Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.6619658Z               "line": 1914
2026-06-17T06:47:31.6620297Z             }
2026-06-17T06:47:31.6620856Z           ]
2026-06-17T06:47:31.6621404Z         },
2026-06-17T06:47:31.6621948Z         "int": {
2026-06-17T06:47:31.6622554Z           "complete": false,
2026-06-17T06:47:31.6623245Z           "evidence": []
2026-06-17T06:47:31.6623890Z         },
2026-06-17T06:47:31.6624449Z         "unit": {
2026-06-17T06:47:31.6625058Z           "complete": true,
2026-06-17T06:47:31.6625740Z           "evidence": [
2026-06-17T06:47:31.6626364Z             {
2026-06-17T06:47:31.6627041Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-17T06:47:31.6627938Z               "line": 309
2026-06-17T06:47:31.6628586Z             },
2026-06-17T06:47:31.6629260Z             {
2026-06-17T06:47:31.6629894Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.6630725Z               "line": 7416
2026-06-17T06:47:31.6631388Z             }
2026-06-17T06:47:31.6631950Z           ]
2026-06-17T06:47:31.6632499Z         }
2026-06-17T06:47:31.6633034Z       }
2026-06-17T06:47:31.6633562Z     },
2026-06-17T06:47:31.6634100Z     {
2026-06-17T06:47:31.6634779Z       "id": "REQ-CLI-3",
2026-06-17T06:47:31.6637672Z       "title": "Agent hot path stays flat across the M8 reorg: send/ring/ready/whoami/how-to unchanged; notify moves to subnet notify while notif stays top-level; breaking renames land clean with no deprecation shims (zero external CLI consumers pre-spt-claude-code) (M8 decisions 3-4, 9)",
2026-06-17T06:47:31.6640811Z       "requiredStages": [
2026-06-17T06:47:31.6641489Z         "impl",
2026-06-17T06:47:31.6642070Z         "unit"
2026-06-17T06:47:31.6642786Z       ],
2026-06-17T06:47:31.6643336Z       "stages": {
2026-06-17T06:47:31.6643932Z         "doc": {
2026-06-17T06:47:31.6644547Z           "complete": false,
2026-06-17T06:47:31.6645245Z           "evidence": []
2026-06-17T06:47:31.6645898Z         },
2026-06-17T06:47:31.6646461Z         "impl": {
2026-06-17T06:47:31.6647076Z           "complete": true,
2026-06-17T06:47:31.6647761Z           "evidence": [
2026-06-17T06:47:31.6648391Z             {
2026-06-17T06:47:31.6649100Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.6649924Z               "line": 1039
2026-06-17T06:47:31.6650571Z             }
2026-06-17T06:47:31.6651133Z           ]
2026-06-17T06:47:31.6651668Z         },
2026-06-17T06:47:31.6652217Z         "int": {
2026-06-17T06:47:31.6652811Z           "complete": false,
2026-06-17T06:47:31.6653500Z           "evidence": []
2026-06-17T06:47:31.6654134Z         },
2026-06-17T06:47:31.6654673Z         "unit": {
2026-06-17T06:47:31.6655282Z           "complete": true,
2026-06-17T06:47:31.6655966Z           "evidence": [
2026-06-17T06:47:31.6656605Z             {
2026-06-17T06:47:31.6657240Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.6658064Z               "line": 7243
2026-06-17T06:47:31.6658731Z             }
2026-06-17T06:47:31.6659361Z           ]
2026-06-17T06:47:31.6659905Z         }
2026-06-17T06:47:31.6660446Z       }
2026-06-17T06:47:31.6660978Z     },
2026-06-17T06:47:31.6661503Z     {
2026-06-17T06:47:31.6662071Z       "id": "REQ-CONSENT-1",
2026-06-17T06:47:31.6665553Z       "title": "Consent grant store: capability x subject-agent x target-node rows, enforced at the target node, subnet-settable (replicates as security material near the trust store), revocable; gated-capability ids (remote-exec, instantiate-anywhere) reserved-but-refusing; v1 consumers are the shell spawn gates (CONTEXT Consent & security gates)",
2026-06-17T06:47:31.6669215Z       "requiredStages": [
2026-06-17T06:47:31.6669896Z         "impl",
2026-06-17T06:47:31.6670474Z         "unit"
2026-06-17T06:47:31.6671040Z       ],
2026-06-17T06:47:31.6671581Z       "stages": {
2026-06-17T06:47:31.6672163Z         "doc": {
2026-06-17T06:47:31.6672768Z           "complete": false,
2026-06-17T06:47:31.6673460Z           "evidence": []
2026-06-17T06:47:31.6674095Z         },
2026-06-17T06:47:31.6674649Z         "impl": {
2026-06-17T06:47:31.6675255Z           "complete": true,
2026-06-17T06:47:31.6675927Z           "evidence": [
2026-06-17T06:47:31.6676564Z             {
2026-06-17T06:47:31.6677254Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-17T06:47:31.6678136Z               "line": 27
2026-06-17T06:47:31.6678785Z             },
2026-06-17T06:47:31.6679442Z             {
2026-06-17T06:47:31.6680119Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-17T06:47:31.6680982Z               "line": 75
2026-06-17T06:47:31.6681619Z             },
2026-06-17T06:47:31.6682194Z             {
2026-06-17T06:47:31.6682877Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-17T06:47:31.6683748Z               "line": 98
2026-06-17T06:47:31.6684386Z             },
2026-06-17T06:47:31.6684961Z             {
2026-06-17T06:47:31.6685642Z               "path": "crates/spt-store/src/grants.rs",
2026-06-17T06:47:31.6686510Z               "line": 82
2026-06-17T06:47:31.6687161Z             },
2026-06-17T06:47:31.6687733Z             {
2026-06-17T06:47:31.6688400Z               "path": "crates/spt-store/src/grants.rs",
2026-06-17T06:47:31.6689444Z               "line": 109
2026-06-17T06:47:31.6690092Z             },
2026-06-17T06:47:31.6690665Z             {
2026-06-17T06:47:31.6691346Z               "path": "crates/spt-store/src/grants.rs",
2026-06-17T06:47:31.6692208Z               "line": 127
2026-06-17T06:47:31.6692855Z             },
2026-06-17T06:47:31.6693427Z             {
2026-06-17T06:47:31.6694100Z               "path": "crates/spt-store/src/grants.rs",
2026-06-17T06:47:31.6694960Z               "line": 142
2026-06-17T06:47:31.6695722Z             },
2026-06-17T06:47:31.6696289Z             {
2026-06-17T06:47:31.6696923Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.6697731Z               "line": 6720
2026-06-17T06:47:31.6698375Z             }
2026-06-17T06:47:31.6699022Z           ]
2026-06-17T06:47:31.6699572Z         },
2026-06-17T06:47:31.6700115Z         "int": {
2026-06-17T06:47:31.6700709Z           "complete": false,
2026-06-17T06:47:31.6701401Z           "evidence": []
2026-06-17T06:47:31.6702035Z         },
2026-06-17T06:47:31.6702597Z         "unit": {
2026-06-17T06:47:31.6703209Z           "complete": true,
2026-06-17T06:47:31.6703877Z           "evidence": [
2026-06-17T06:47:31.6704497Z             {
2026-06-17T06:47:31.6705183Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-17T06:47:31.6706049Z               "line": 334
2026-06-17T06:47:31.6706682Z             },
2026-06-17T06:47:31.6707236Z             {
2026-06-17T06:47:31.6707913Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-17T06:47:31.6708781Z               "line": 380
2026-06-17T06:47:31.6709488Z             },
2026-06-17T06:47:31.6710050Z             {
2026-06-17T06:47:31.6710728Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-17T06:47:31.6711593Z               "line": 391
2026-06-17T06:47:31.6712232Z             },
2026-06-17T06:47:31.6712804Z             {
2026-06-17T06:47:31.6713488Z               "path": "crates/spt-store/src/grants.rs",
2026-06-17T06:47:31.6714342Z               "line": 165
2026-06-17T06:47:31.6714980Z             },
2026-06-17T06:47:31.6715535Z             {
2026-06-17T06:47:31.6716195Z               "path": "crates/spt-store/src/grants.rs",
2026-06-17T06:47:31.6717051Z               "line": 184
2026-06-17T06:47:31.6717700Z             },
2026-06-17T06:47:31.6718267Z             {
2026-06-17T06:47:31.6718926Z               "path": "crates/spt-store/src/grants.rs",
2026-06-17T06:47:31.6719852Z               "line": 204
2026-06-17T06:47:31.6720477Z             },
2026-06-17T06:47:31.6721054Z             {
2026-06-17T06:47:31.6721673Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.6722482Z               "line": 7596
2026-06-17T06:47:31.6723126Z             }
2026-06-17T06:47:31.6723679Z           ]
2026-06-17T06:47:31.6724225Z         }
2026-06-17T06:47:31.6724758Z       }
2026-06-17T06:47:31.6725278Z     },
2026-06-17T06:47:31.6725804Z     {
2026-06-17T06:47:31.6726357Z       "id": "REQ-CONSENT-2",
2026-06-17T06:47:31.6729587Z       "title": "Interactive consent escalation: an ungated high-risk action routes a consent prompt to the user's most-recently-active session; allow-once / allow-always (writes a grant) / deny; pre-consent flags (can_shutdown, shell_wake_spawn_anywhere) author grants via manifest/settings (CONTEXT Consent & security gates)",
2026-06-17T06:47:31.6732900Z       "requiredStages": [
2026-06-17T06:47:31.6733562Z         "impl",
2026-06-17T06:47:31.6734141Z         "unit"
2026-06-17T06:47:31.6734704Z       ],
2026-06-17T06:47:31.6735242Z       "stages": {
2026-06-17T06:47:31.6735834Z         "doc": {
2026-06-17T06:47:31.6736439Z           "complete": false,
2026-06-17T06:47:31.6737139Z           "evidence": []
2026-06-17T06:47:31.6737781Z         },
2026-06-17T06:47:31.6738334Z         "impl": {
2026-06-17T06:47:31.6738930Z           "complete": true,
2026-06-17T06:47:31.6739711Z           "evidence": [
2026-06-17T06:47:31.6740333Z             {
2026-06-17T06:47:31.6741019Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-17T06:47:31.6742002Z               "line": 140
2026-06-17T06:47:31.6742644Z             },
2026-06-17T06:47:31.6743203Z             {
2026-06-17T06:47:31.6743870Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-17T06:47:31.6744729Z               "line": 165
2026-06-17T06:47:31.6745374Z             },
2026-06-17T06:47:31.6745932Z             {
2026-06-17T06:47:31.6746614Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-17T06:47:31.6747467Z               "line": 199
2026-06-17T06:47:31.6748241Z             },
2026-06-17T06:47:31.6748814Z             {
2026-06-17T06:47:31.6749566Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-17T06:47:31.6750443Z               "line": 241
2026-06-17T06:47:31.6751089Z             },
2026-06-17T06:47:31.6751652Z             {
2026-06-17T06:47:31.6752330Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-17T06:47:31.6753185Z               "line": 269
2026-06-17T06:47:31.6753819Z             },
2026-06-17T06:47:31.6754397Z             {
2026-06-17T06:47:31.6755079Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-17T06:47:31.6755929Z               "line": 300
2026-06-17T06:47:31.6756573Z             },
2026-06-17T06:47:31.6757150Z             {
2026-06-17T06:47:31.6757790Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.6758596Z               "line": 6511
2026-06-17T06:47:31.6759340Z             },
2026-06-17T06:47:31.6759931Z             {
2026-06-17T06:47:31.6760575Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.6761383Z               "line": 6569
2026-06-17T06:47:31.6762031Z             }
2026-06-17T06:47:31.6762594Z           ]
2026-06-17T06:47:31.6763141Z         },
2026-06-17T06:47:31.6763684Z         "int": {
2026-06-17T06:47:31.6764285Z           "complete": false,
2026-06-17T06:47:31.6764981Z           "evidence": []
2026-06-17T06:47:31.6765624Z         },
2026-06-17T06:47:31.6766167Z         "unit": {
2026-06-17T06:47:31.6766771Z           "complete": true,
2026-06-17T06:47:31.6767453Z           "evidence": [
2026-06-17T06:47:31.6768078Z             {
2026-06-17T06:47:31.6768754Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-17T06:47:31.6769704Z               "line": 419
2026-06-17T06:47:31.6770339Z             },
2026-06-17T06:47:31.6770921Z             {
2026-06-17T06:47:31.6771587Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-17T06:47:31.6772442Z               "line": 436
2026-06-17T06:47:31.6773086Z             },
2026-06-17T06:47:31.6773663Z             {
2026-06-17T06:47:31.6774339Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-17T06:47:31.6775198Z               "line": 472
2026-06-17T06:47:31.6775836Z             },
2026-06-17T06:47:31.6776414Z             {
2026-06-17T06:47:31.6777093Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-17T06:47:31.6777956Z               "line": 516
2026-06-17T06:47:31.6778590Z             },
2026-06-17T06:47:31.6779225Z             {
2026-06-17T06:47:31.6779855Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.6780665Z               "line": 8838
2026-06-17T06:47:31.6781323Z             },
2026-06-17T06:47:31.6781876Z             {
2026-06-17T06:47:31.6782508Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.6783327Z               "line": 8920
2026-06-17T06:47:31.6783976Z             }
2026-06-17T06:47:31.6784533Z           ]
2026-06-17T06:47:31.6785077Z         }
2026-06-17T06:47:31.6785611Z       }
2026-06-17T06:47:31.6786144Z     },
2026-06-17T06:47:31.6786678Z     {
2026-06-17T06:47:31.6787230Z       "id": "REQ-CONSENT-3",
2026-06-17T06:47:31.6793440Z       "title": "Per-capability approval gates (class-keyed): the require_approval enum may ride INDIVIDUAL [shell.capabilities] entries — gating the dangerous ACT, not just the spawn — with an optional class_key scoping the grant qualifier finer than the capability id ((owner endpoint x device class x node); a remembered HID-class attach grant never authorizes a storage-class attach). Reuses the grant store + interactive escalation + tighten-only floor (REQ-CONSENT-1/2 plumbing). Spawn gates govern EXISTENCE; capability gates govern ACTS — an explicitly distinct invariant (CONTEXT:283, ratified 2026-06-11 Gateway grill).",
2026-06-17T06:47:31.6799653Z       "requiredStages": [
2026-06-17T06:47:31.6800311Z         "doc",
2026-06-17T06:47:31.6800878Z         "impl",
2026-06-17T06:47:31.6801470Z         "unit",
2026-06-17T06:47:31.6802038Z         "int"
2026-06-17T06:47:31.6802719Z       ],
2026-06-17T06:47:31.6803262Z       "stages": {
2026-06-17T06:47:31.6803861Z         "doc": {
2026-06-17T06:47:31.6804472Z           "complete": true,
2026-06-17T06:47:31.6805154Z           "evidence": [
2026-06-17T06:47:31.6805779Z             {
2026-06-17T06:47:31.6806372Z               "path": "CONTEXT.md",
2026-06-17T06:47:31.6807136Z               "line": 292
2026-06-17T06:47:31.6807775Z             }
2026-06-17T06:47:31.6808331Z           ]
2026-06-17T06:47:31.6808868Z         },
2026-06-17T06:47:31.6809497Z         "impl": {
2026-06-17T06:47:31.6867337Z           "complete": true,
2026-06-17T06:47:31.6868314Z           "evidence": [
2026-06-17T06:47:31.6869043Z             {
2026-06-17T06:47:31.6869781Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-17T06:47:31.6870692Z               "line": 123
2026-06-17T06:47:31.6871331Z             },
2026-06-17T06:47:31.6871900Z             {
2026-06-17T06:47:31.6872566Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-17T06:47:31.6873473Z               "line": 162
2026-06-17T06:47:31.6874107Z             },
2026-06-17T06:47:31.6874649Z             {
2026-06-17T06:47:31.6875325Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-17T06:47:31.6876184Z               "line": 291
2026-06-17T06:47:31.6876814Z             },
2026-06-17T06:47:31.6877357Z             {
2026-06-17T06:47:31.6878030Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T06:47:31.6878884Z               "line": 519
2026-06-17T06:47:31.6879632Z             },
2026-06-17T06:47:31.6880193Z             {
2026-06-17T06:47:31.6880870Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T06:47:31.6881724Z               "line": 769
2026-06-17T06:47:31.6882360Z             },
2026-06-17T06:47:31.6882899Z             {
2026-06-17T06:47:31.6883504Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.6884281Z               "line": 6637
2026-06-17T06:47:31.6884911Z             }
2026-06-17T06:47:31.6885470Z           ]
2026-06-17T06:47:31.6886003Z         },
2026-06-17T06:47:31.6886529Z         "int": {
2026-06-17T06:47:31.6887121Z           "complete": true,
2026-06-17T06:47:31.6887776Z           "evidence": [
2026-06-17T06:47:31.6888395Z             {
2026-06-17T06:47:31.6889335Z               "path": "crates/spt/tests/shell_actgate_e2e.rs",
2026-06-17T06:47:31.6890197Z               "line": 16
2026-06-17T06:47:31.6890820Z             }
2026-06-17T06:47:31.6891374Z           ]
2026-06-17T06:47:31.6891932Z         },
2026-06-17T06:47:31.6892456Z         "unit": {
2026-06-17T06:47:31.6893039Z           "complete": true,
2026-06-17T06:47:31.6893692Z           "evidence": [
2026-06-17T06:47:31.6894302Z             {
2026-06-17T06:47:31.6894965Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-17T06:47:31.6895820Z               "line": 1019
2026-06-17T06:47:31.6896460Z             },
2026-06-17T06:47:31.6897027Z             {
2026-06-17T06:47:31.6897690Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-17T06:47:31.6898544Z               "line": 1066
2026-06-17T06:47:31.6899336Z             },
2026-06-17T06:47:31.6899956Z             {
2026-06-17T06:47:31.6900637Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T06:47:31.6901505Z               "line": 1180
2026-06-17T06:47:31.6902139Z             }
2026-06-17T06:47:31.6902702Z           ]
2026-06-17T06:47:31.6903244Z         }
2026-06-17T06:47:31.6903776Z       }
2026-06-17T06:47:31.6904300Z     },
2026-06-17T06:47:31.6905082Z     {
2026-06-17T06:47:31.6905655Z       "id": "REQ-CONV-1",
2026-06-17T06:47:31.6910368Z       "title": "Peer address seeding, both cold starts: durable peer-addrs.json (identity dir) maps peer pubkey → last-known dialable address; the pump's resolver consults it FIRST with id-only discovery fallback on miss or dial failure (a stale addr never strands a peer); written by the pairing ceremony (both sides, from the live connection) and by the pump on successful connect; post-join first sync and post-restart resync converge in seconds, not ~1 min (M8 decisions 14, 20)",
2026-06-17T06:47:31.6914980Z       "requiredStages": [
2026-06-17T06:47:31.6915642Z         "impl",
2026-06-17T06:47:31.6916211Z         "unit"
2026-06-17T06:47:31.6916781Z       ],
2026-06-17T06:47:31.6917321Z       "stages": {
2026-06-17T06:47:31.6917909Z         "doc": {
2026-06-17T06:47:31.6918504Z           "complete": false,
2026-06-17T06:47:31.6919262Z           "evidence": []
2026-06-17T06:47:31.6919936Z         },
2026-06-17T06:47:31.6920494Z         "impl": {
2026-06-17T06:47:31.6921085Z           "complete": true,
2026-06-17T06:47:31.6921762Z           "evidence": [
2026-06-17T06:47:31.6922382Z             {
2026-06-17T06:47:31.6923054Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-17T06:47:31.6923908Z               "line": 938
2026-06-17T06:47:31.6924545Z             },
2026-06-17T06:47:31.6925115Z             {
2026-06-17T06:47:31.6925798Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-17T06:47:31.6926655Z               "line": 94
2026-06-17T06:47:31.6927288Z             },
2026-06-17T06:47:31.6927844Z             {
2026-06-17T06:47:31.6928525Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-17T06:47:31.6929484Z               "line": 345
2026-06-17T06:47:31.6930120Z             },
2026-06-17T06:47:31.6930683Z             {
2026-06-17T06:47:31.6931355Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-17T06:47:31.6932214Z               "line": 387
2026-06-17T06:47:31.6932856Z             },
2026-06-17T06:47:31.6933409Z             {
2026-06-17T06:47:31.6934092Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-17T06:47:31.6934953Z               "line": 472
2026-06-17T06:47:31.6935603Z             },
2026-06-17T06:47:31.6936180Z             {
2026-06-17T06:47:31.6936876Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-17T06:47:31.6937726Z               "line": 667
2026-06-17T06:47:31.6938362Z             },
2026-06-17T06:47:31.6938939Z             {
2026-06-17T06:47:31.6939696Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-17T06:47:31.6940568Z               "line": 693
2026-06-17T06:47:31.6941210Z             },
2026-06-17T06:47:31.6941777Z             {
2026-06-17T06:47:31.6942450Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-17T06:47:31.6943335Z               "line": 369
2026-06-17T06:47:31.6943969Z             },
2026-06-17T06:47:31.6944536Z             {
2026-06-17T06:47:31.6945223Z               "path": "crates/spt-store/src/peeraddrs.rs",
2026-06-17T06:47:31.6946088Z               "line": 19
2026-06-17T06:47:31.6946703Z             }
2026-06-17T06:47:31.6947256Z           ]
2026-06-17T06:47:31.6947800Z         },
2026-06-17T06:47:31.6948333Z         "int": {
2026-06-17T06:47:31.6949030Z           "complete": false,
2026-06-17T06:47:31.6949756Z           "evidence": []
2026-06-17T06:47:31.6950415Z         },
2026-06-17T06:47:31.6950970Z         "unit": {
2026-06-17T06:47:31.6951578Z           "complete": true,
2026-06-17T06:47:31.6952250Z           "evidence": [
2026-06-17T06:47:31.6952875Z             {
2026-06-17T06:47:31.6953563Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-17T06:47:31.6954448Z               "line": 1263
2026-06-17T06:47:31.6955096Z             },
2026-06-17T06:47:31.6955654Z             {
2026-06-17T06:47:31.6956328Z               "path": "crates/spt-store/src/peeraddrs.rs",
2026-06-17T06:47:31.6957197Z               "line": 108
2026-06-17T06:47:31.6957978Z             },
2026-06-17T06:47:31.6958545Z             {
2026-06-17T06:47:31.6959319Z               "path": "crates/spt-store/src/peeraddrs.rs",
2026-06-17T06:47:31.6960216Z               "line": 134
2026-06-17T06:47:31.6960855Z             },
2026-06-17T06:47:31.6961422Z             {
2026-06-17T06:47:31.6962101Z               "path": "crates/spt-store/src/peeraddrs.rs",
2026-06-17T06:47:31.6962964Z               "line": 144
2026-06-17T06:47:31.6963594Z             }
2026-06-17T06:47:31.6964294Z           ]
2026-06-17T06:47:31.6964832Z         }
2026-06-17T06:47:31.6965365Z       }
2026-06-17T06:47:31.6965885Z     },
2026-06-17T06:47:31.6966411Z     {
2026-06-17T06:47:31.6966955Z       "id": "REQ-CONV-2",
2026-06-17T06:47:31.6970813Z       "title": "Event-driven advertisement: endpoint online/offline transitions (ready-listener start/stop, rest-state transition, perch death) trigger an immediate advertise_local + peer push as a WAKE of the existing pump loop (no second advertisement path — epoch lease + visibility gates ride unchanged); the cadence stays the steady-state floor (M8 decision 15)",
2026-06-17T06:47:31.6974364Z       "requiredStages": [
2026-06-17T06:47:31.6975015Z         "impl",
2026-06-17T06:47:31.6975601Z         "unit"
2026-06-17T06:47:31.6976155Z       ],
2026-06-17T06:47:31.6976685Z       "stages": {
2026-06-17T06:47:31.6977260Z         "doc": {
2026-06-17T06:47:31.6977854Z           "complete": false,
2026-06-17T06:47:31.6978531Z           "evidence": []
2026-06-17T06:47:31.6979257Z         },
2026-06-17T06:47:31.6979820Z         "impl": {
2026-06-17T06:47:31.6980401Z           "complete": true,
2026-06-17T06:47:31.6981064Z           "evidence": [
2026-06-17T06:47:31.6981679Z             {
2026-06-17T06:47:31.6982347Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-17T06:47:31.6983197Z               "line": 384
2026-06-17T06:47:31.6983817Z             },
2026-06-17T06:47:31.6984366Z             {
2026-06-17T06:47:31.6985094Z               "path": "crates/spt-daemon/src/pump/registry.rs",
2026-06-17T06:47:31.6986029Z               "line": 119
2026-06-17T06:47:31.6986682Z             },
2026-06-17T06:47:31.6987236Z             {
2026-06-17T06:47:31.6987916Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T06:47:31.6988776Z               "line": 789
2026-06-17T06:47:31.6989492Z             },
2026-06-17T06:47:31.6990055Z             {
2026-06-17T06:47:31.6990740Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T06:47:31.6991615Z               "line": 800
2026-06-17T06:47:31.6992259Z             },
2026-06-17T06:47:31.6992811Z             {
2026-06-17T06:47:31.6993462Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-17T06:47:31.6994306Z               "line": 334
2026-06-17T06:47:31.6994931Z             },
2026-06-17T06:47:31.6995498Z             {
2026-06-17T06:47:31.6996116Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.6996899Z               "line": 2819
2026-06-17T06:47:31.6997599Z             },
2026-06-17T06:47:31.6998314Z             {
2026-06-17T06:47:31.6999213Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.7000137Z               "line": 2835
2026-06-17T06:47:31.7000896Z             },
2026-06-17T06:47:31.7001598Z             {
2026-06-17T06:47:31.7002323Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.7003239Z               "line": 2894
2026-06-17T06:47:31.7003998Z             }
2026-06-17T06:47:31.7004651Z           ]
2026-06-17T06:47:31.7005337Z         },
2026-06-17T06:47:31.7006039Z         "int": {
2026-06-17T06:47:31.7006768Z           "complete": false,
2026-06-17T06:47:31.7007578Z           "evidence": []
2026-06-17T06:47:31.7008294Z         },
2026-06-17T06:47:31.7009059Z         "unit": {
2026-06-17T06:47:31.7009754Z           "complete": true,
2026-06-17T06:47:31.7010497Z           "evidence": [
2026-06-17T06:47:31.7011290Z             {
2026-06-17T06:47:31.7012110Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-17T06:47:31.7013259Z               "line": 889
2026-06-17T06:47:31.7013994Z             },
2026-06-17T06:47:31.7014644Z             {
2026-06-17T06:47:31.7015503Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-17T06:47:31.7016446Z               "line": 1014
2026-06-17T06:47:31.7017222Z             },
2026-06-17T06:47:31.7017885Z             {
2026-06-17T06:47:31.7018729Z               "path": "crates/spt-daemon/src/pump/registry.rs",
2026-06-17T06:47:31.7020047Z               "line": 215
2026-06-17T06:47:31.7020786Z             }
2026-06-17T06:47:31.7021450Z           ]
2026-06-17T06:47:31.7022084Z         }
2026-06-17T06:47:31.7022714Z       }
2026-06-17T06:47:31.7023368Z     },
2026-06-17T06:47:31.7023997Z     {
2026-06-17T06:47:31.7024722Z       "id": "REQ-DAEMON-1",
2026-06-17T06:47:31.7025734Z       "title": "One per-machine spt-daemon owning all per-machine state",
2026-06-17T06:47:31.7026854Z       "requiredStages": [
2026-06-17T06:47:31.7027650Z         "impl",
2026-06-17T06:47:31.7028335Z         "unit",
2026-06-17T06:47:31.7029060Z         "int"
2026-06-17T06:47:31.7029796Z       ],
2026-06-17T06:47:31.7030459Z       "stages": {
2026-06-17T06:47:31.7031189Z         "doc": {
2026-06-17T06:47:31.7031880Z           "complete": false,
2026-06-17T06:47:31.7032634Z           "evidence": []
2026-06-17T06:47:31.7033436Z         },
2026-06-17T06:47:31.7034071Z         "impl": {
2026-06-17T06:47:31.7034799Z           "complete": true,
2026-06-17T06:47:31.7035590Z           "evidence": [
2026-06-17T06:47:31.7036318Z             {
2026-06-17T06:47:31.7037172Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T06:47:31.7038121Z               "line": 229
2026-06-17T06:47:31.7038882Z             },
2026-06-17T06:47:31.7039693Z             {
2026-06-17T06:47:31.7040436Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-17T06:47:31.7041420Z               "line": 12
2026-06-17T06:47:31.7042125Z             },
2026-06-17T06:47:31.7042870Z             {
2026-06-17T06:47:31.7043658Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-17T06:47:31.7044616Z               "line": 16
2026-06-17T06:47:31.7045364Z             },
2026-06-17T06:47:31.7046021Z             {
2026-06-17T06:47:31.7046788Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-17T06:47:31.7047793Z               "line": 284
2026-06-17T06:47:31.7048560Z             },
2026-06-17T06:47:31.7049333Z             {
2026-06-17T06:47:31.7050128Z               "path": "crates/spt-daemon/src/livehost.rs",
2026-06-17T06:47:31.7051043Z               "line": 24
2026-06-17T06:47:31.7051813Z             },
2026-06-17T06:47:31.7052472Z             {
2026-06-17T06:47:31.7053276Z               "path": "crates/spt-daemon/src/livehost.rs",
2026-06-17T06:47:31.7054251Z               "line": 225
2026-06-17T06:47:31.7054999Z             },
2026-06-17T06:47:31.7055711Z             {
2026-06-17T06:47:31.7056482Z               "path": "crates/spt-daemon/src/livehost.rs",
2026-06-17T06:47:31.7057433Z               "line": 242
2026-06-17T06:47:31.7058176Z             },
2026-06-17T06:47:31.7058820Z             {
2026-06-17T06:47:31.7059725Z               "path": "crates/spt-daemon/src/livehost.rs",
2026-06-17T06:47:31.7060721Z               "line": 319
2026-06-17T06:47:31.7061457Z             },
2026-06-17T06:47:31.7062130Z             {
2026-06-17T06:47:31.7062874Z               "path": "crates/spt-daemon/src/livehost.rs",
2026-06-17T06:47:31.7063866Z               "line": 449
2026-06-17T06:47:31.7064588Z             },
2026-06-17T06:47:31.7065202Z             {
2026-06-17T06:47:31.7066017Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-17T06:47:31.7066972Z               "line": 15
2026-06-17T06:47:31.7067735Z             },
2026-06-17T06:47:31.7068384Z             {
2026-06-17T06:47:31.7069176Z               "path": "crates/spt-store/src/info.rs",
2026-06-17T06:47:31.7070167Z               "line": 218
2026-06-17T06:47:31.7070882Z             },
2026-06-17T06:47:31.7071721Z             {
2026-06-17T06:47:31.7072462Z               "path": "crates/spt/src/api/live.rs",
2026-06-17T06:47:31.7073382Z               "line": 13
2026-06-17T06:47:31.7074163Z             },
2026-06-17T06:47:31.7074831Z             {
2026-06-17T06:47:31.7075600Z               "path": "crates/spt/src/api/startup.rs",
2026-06-17T06:47:31.7076531Z               "line": 281
2026-06-17T06:47:31.7077263Z             },
2026-06-17T06:47:31.7077957Z             {
2026-06-17T06:47:31.7078892Z               "path": "crates/spt/src/api/startup.rs",
2026-06-17T06:47:31.7079965Z               "line": 369
2026-06-17T06:47:31.7080722Z             }
2026-06-17T06:47:31.7081356Z           ]
2026-06-17T06:47:31.7082033Z         },
2026-06-17T06:47:31.7082705Z         "int": {
2026-06-17T06:47:31.7083379Z           "complete": true,
2026-06-17T06:47:31.7084204Z           "evidence": [
2026-06-17T06:47:31.7084943Z             {
2026-06-17T06:47:31.7085894Z               "path": "crates/spt-daemon/tests/daemon_lifecycle_real_brain.rs",
2026-06-17T06:47:31.7087018Z               "line": 2
2026-06-17T06:47:31.7087701Z             },
2026-06-17T06:47:31.7088433Z             {
2026-06-17T06:47:31.7089442Z               "path": "crates/spt-daemon/tests/daemon_lifecycle_real_brain.rs",
2026-06-17T06:47:31.7090607Z               "line": 16
2026-06-17T06:47:31.7091377Z             },
2026-06-17T06:47:31.7092011Z             {
2026-06-17T06:47:31.7092913Z               "path": "crates/spt/tests/live_bind_firsthost_e2e.rs",
2026-06-17T06:47:31.7093939Z               "line": 12
2026-06-17T06:47:31.7094707Z             },
2026-06-17T06:47:31.7095380Z             {
2026-06-17T06:47:31.7096184Z               "path": "crates/spt/tests/live_firsthost_e2e.rs",
2026-06-17T06:47:31.7097284Z               "line": 12
2026-06-17T06:47:31.7098037Z             },
2026-06-17T06:47:31.7098741Z             {
2026-06-17T06:47:31.7099679Z               "path": "crates/spt/tests/livehost_bootrace_e2e.rs",
2026-06-17T06:47:31.7100684Z               "line": 44
2026-06-17T06:47:31.7101453Z             }
2026-06-17T06:47:31.7102099Z           ]
2026-06-17T06:47:31.7102724Z         },
2026-06-17T06:47:31.7103459Z         "unit": {
2026-06-17T06:47:31.7104170Z           "complete": true,
2026-06-17T06:47:31.7104977Z           "evidence": [
2026-06-17T06:47:31.7105710Z             {
2026-06-17T06:47:31.7106445Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-17T06:47:31.7107432Z               "line": 285
2026-06-17T06:47:31.7108187Z             },
2026-06-17T06:47:31.7108864Z             {
2026-06-17T06:47:31.7109781Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-17T06:47:31.7110711Z               "line": 293
2026-06-17T06:47:31.7111497Z             },
2026-06-17T06:47:31.7112145Z             {
2026-06-17T06:47:31.7112921Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-17T06:47:31.7113890Z               "line": 309
2026-06-17T06:47:31.7114730Z             },
2026-06-17T06:47:31.7115436Z             {
2026-06-17T06:47:31.7116171Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-17T06:47:31.7117168Z               "line": 317
2026-06-17T06:47:31.7117884Z             },
2026-06-17T06:47:31.7125082Z             {
2026-06-17T06:47:31.7125957Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-17T06:47:31.7126830Z               "line": 634
2026-06-17T06:47:31.7127469Z             },
2026-06-17T06:47:31.7128036Z             {
2026-06-17T06:47:31.7128716Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-17T06:47:31.7129669Z               "line": 704
2026-06-17T06:47:31.7130290Z             },
2026-06-17T06:47:31.7130843Z             {
2026-06-17T06:47:31.7131516Z               "path": "crates/spt-daemon/src/livehost.rs",
2026-06-17T06:47:31.7132360Z               "line": 570
2026-06-17T06:47:31.7132979Z             },
2026-06-17T06:47:31.7133523Z             {
2026-06-17T06:47:31.7134190Z               "path": "crates/spt-daemon/src/livehost.rs",
2026-06-17T06:47:31.7135214Z               "line": 607
2026-06-17T06:47:31.7135855Z             },
2026-06-17T06:47:31.7136414Z             {
2026-06-17T06:47:31.7137086Z               "path": "crates/spt-daemon/src/livehost.rs",
2026-06-17T06:47:31.7137940Z               "line": 630
2026-06-17T06:47:31.7138572Z             },
2026-06-17T06:47:31.7139204Z             {
2026-06-17T06:47:31.7139887Z               "path": "crates/spt-daemon/src/livehost.rs",
2026-06-17T06:47:31.7140725Z               "line": 659
2026-06-17T06:47:31.7141499Z             },
2026-06-17T06:47:31.7142047Z             {
2026-06-17T06:47:31.7142696Z               "path": "crates/spt-daemon/src/livehost.rs",
2026-06-17T06:47:31.7143535Z               "line": 707
2026-06-17T06:47:31.7144164Z             },
2026-06-17T06:47:31.7144713Z             {
2026-06-17T06:47:31.7145366Z               "path": "crates/spt-daemon/src/livehost.rs",
2026-06-17T06:47:31.7146198Z               "line": 750
2026-06-17T06:47:31.7146825Z             },
2026-06-17T06:47:31.7147393Z             {
2026-06-17T06:47:31.7148023Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-17T06:47:31.7148844Z               "line": 106
2026-06-17T06:47:31.7149545Z             },
2026-06-17T06:47:31.7150099Z             {
2026-06-17T06:47:31.7150738Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-17T06:47:31.7151575Z               "line": 132
2026-06-17T06:47:31.7152188Z             },
2026-06-17T06:47:31.7152732Z             {
2026-06-17T06:47:31.7153375Z               "path": "crates/spt-store/src/info.rs",
2026-06-17T06:47:31.7154171Z               "line": 473
2026-06-17T06:47:31.7154794Z             }
2026-06-17T06:47:31.7155386Z           ]
2026-06-17T06:47:31.7155963Z         }
2026-06-17T06:47:31.7156484Z       }
2026-06-17T06:47:31.7156999Z     },
2026-06-17T06:47:31.7157506Z     {
2026-06-17T06:47:31.7158053Z       "id": "REQ-DAEMON-2",
2026-06-17T06:47:31.7158873Z       "title": "Broker/brain split for seamless self-update",
2026-06-17T06:47:31.7159895Z       "requiredStages": [
2026-06-17T06:47:31.7160538Z         "impl",
2026-06-17T06:47:31.7161111Z         "unit",
2026-06-17T06:47:31.7161665Z         "int"
2026-06-17T06:47:31.7162216Z       ],
2026-06-17T06:47:31.7162743Z       "stages": {
2026-06-17T06:47:31.7163311Z         "doc": {
2026-06-17T06:47:31.7163884Z           "complete": true,
2026-06-17T06:47:31.7164547Z           "evidence": [
2026-06-17T06:47:31.7165151Z             {
2026-06-17T06:47:31.7165809Z               "path": "docs/TWO-HOST-RUNBOOK.md",
2026-06-17T06:47:31.7166619Z               "line": 250
2026-06-17T06:47:31.7167233Z             }
2026-06-17T06:47:31.7167813Z           ]
2026-06-17T06:47:31.7168356Z         },
2026-06-17T06:47:31.7168904Z         "impl": {
2026-06-17T06:47:31.7169701Z           "complete": true,
2026-06-17T06:47:31.7170361Z           "evidence": [
2026-06-17T06:47:31.7170976Z             {
2026-06-17T06:47:31.7171633Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-17T06:47:31.7172459Z               "line": 23
2026-06-17T06:47:31.7173069Z             },
2026-06-17T06:47:31.7173627Z             {
2026-06-17T06:47:31.7174285Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-17T06:47:31.7175121Z               "line": 795
2026-06-17T06:47:31.7175749Z             },
2026-06-17T06:47:31.7176307Z             {
2026-06-17T06:47:31.7176955Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-17T06:47:31.7177779Z               "line": 820
2026-06-17T06:47:31.7178406Z             },
2026-06-17T06:47:31.7179040Z             {
2026-06-17T06:47:31.7179689Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-17T06:47:31.7180533Z               "line": 1026
2026-06-17T06:47:31.7181178Z             },
2026-06-17T06:47:31.7181735Z             {
2026-06-17T06:47:31.7182394Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-17T06:47:31.7183222Z               "line": 32
2026-06-17T06:47:31.7183845Z             },
2026-06-17T06:47:31.7184398Z             {
2026-06-17T06:47:31.7185189Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-17T06:47:31.7186024Z               "line": 549
2026-06-17T06:47:31.7186662Z             },
2026-06-17T06:47:31.7187225Z             {
2026-06-17T06:47:31.7187888Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-17T06:47:31.7188731Z               "line": 1055
2026-06-17T06:47:31.7189458Z             },
2026-06-17T06:47:31.7190014Z             {
2026-06-17T06:47:31.7190678Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-17T06:47:31.7191647Z               "line": 1342
2026-06-17T06:47:31.7192291Z             },
2026-06-17T06:47:31.7192849Z             {
2026-06-17T06:47:31.7193488Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-17T06:47:31.7194315Z               "line": 11
2026-06-17T06:47:31.7194939Z             },
2026-06-17T06:47:31.7195496Z             {
2026-06-17T06:47:31.7196165Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-17T06:47:31.7196997Z               "line": 148
2026-06-17T06:47:31.7197631Z             },
2026-06-17T06:47:31.7198199Z             {
2026-06-17T06:47:31.7198843Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-17T06:47:31.7199755Z               "line": 311
2026-06-17T06:47:31.7200390Z             },
2026-06-17T06:47:31.7200952Z             {
2026-06-17T06:47:31.7201578Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-17T06:47:31.7202379Z               "line": 13
2026-06-17T06:47:31.7202999Z             },
2026-06-17T06:47:31.7203558Z             {
2026-06-17T06:47:31.7204225Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-17T06:47:31.7205050Z               "line": 27
2026-06-17T06:47:31.7205661Z             },
2026-06-17T06:47:31.7206219Z             {
2026-06-17T06:47:31.7206886Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-17T06:47:31.7207730Z               "line": 147
2026-06-17T06:47:31.7208359Z             },
2026-06-17T06:47:31.7208936Z             {
2026-06-17T06:47:31.7209706Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-17T06:47:31.7210554Z               "line": 632
2026-06-17T06:47:31.7211188Z             },
2026-06-17T06:47:31.7211779Z             {
2026-06-17T06:47:31.7212483Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-17T06:47:31.7213421Z               "line": 853
2026-06-17T06:47:31.7214155Z             },
2026-06-17T06:47:31.7214714Z             {
2026-06-17T06:47:31.7215372Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-17T06:47:31.7216206Z               "line": 1000
2026-06-17T06:47:31.7216841Z             },
2026-06-17T06:47:31.7217399Z             {
2026-06-17T06:47:31.7218085Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-17T06:47:31.7218929Z               "line": 1089
2026-06-17T06:47:31.7219653Z             },
2026-06-17T06:47:31.7220205Z             {
2026-06-17T06:47:31.7220862Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-17T06:47:31.7221710Z               "line": 1211
2026-06-17T06:47:31.7222344Z             },
2026-06-17T06:47:31.7222963Z             {
2026-06-17T06:47:31.7223715Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-17T06:47:31.7224615Z               "line": 10
2026-06-17T06:47:31.7225288Z             }
2026-06-17T06:47:31.7225889Z           ]
2026-06-17T06:47:31.7226452Z         },
2026-06-17T06:47:31.7226986Z         "int": {
2026-06-17T06:47:31.7227583Z           "complete": true,
2026-06-17T06:47:31.7228250Z           "evidence": [
2026-06-17T06:47:31.7228884Z             {
2026-06-17T06:47:31.7229603Z               "path": "crates/spt-daemon/tests/broker.rs",
2026-06-17T06:47:31.7230438Z               "line": 17
2026-06-17T06:47:31.7231059Z             },
2026-06-17T06:47:31.7231616Z             {
2026-06-17T06:47:31.7232308Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-17T06:47:31.7233162Z               "line": 90
2026-06-17T06:47:31.7233926Z             },
2026-06-17T06:47:31.7234628Z             {
2026-06-17T06:47:31.7235309Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-17T06:47:31.7236161Z               "line": 110
2026-06-17T06:47:31.7236802Z             },
2026-06-17T06:47:31.7237374Z             {
2026-06-17T06:47:31.7238057Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-17T06:47:31.7238914Z               "line": 186
2026-06-17T06:47:31.7239653Z             },
2026-06-17T06:47:31.7240210Z             {
2026-06-17T06:47:31.7241013Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-17T06:47:31.7241866Z               "line": 309
2026-06-17T06:47:31.7242481Z             },
2026-06-17T06:47:31.7243030Z             {
2026-06-17T06:47:31.7243707Z               "path": "crates/spt-daemon/tests/netstream.rs",
2026-06-17T06:47:31.7244568Z               "line": 128
2026-06-17T06:47:31.7245188Z             },
2026-06-17T06:47:31.7245745Z             {
2026-06-17T06:47:31.7246418Z               "path": "crates/spt/tests/brain_survive.rs",
2026-06-17T06:47:31.7247252Z               "line": 59
2026-06-17T06:47:31.7247882Z             }
2026-06-17T06:47:31.7248435Z           ]
2026-06-17T06:47:31.7249417Z         },
2026-06-17T06:47:31.7249961Z         "unit": {
2026-06-17T06:47:31.7250547Z           "complete": true,
2026-06-17T06:47:31.7251191Z           "evidence": [
2026-06-17T06:47:31.7251804Z             {
2026-06-17T06:47:31.7252446Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-17T06:47:31.7253266Z               "line": 62
2026-06-17T06:47:31.7253886Z             },
2026-06-17T06:47:31.7254436Z             {
2026-06-17T06:47:31.7255065Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-17T06:47:31.7255885Z               "line": 76
2026-06-17T06:47:31.7256505Z             },
2026-06-17T06:47:31.7257055Z             {
2026-06-17T06:47:31.7257714Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-17T06:47:31.7258533Z               "line": 88
2026-06-17T06:47:31.7259254Z             },
2026-06-17T06:47:31.7259817Z             {
2026-06-17T06:47:31.7260478Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-17T06:47:31.7261316Z               "line": 294
2026-06-17T06:47:31.7261936Z             },
2026-06-17T06:47:31.7262488Z             {
2026-06-17T06:47:31.7263121Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-17T06:47:31.7263931Z               "line": 771
2026-06-17T06:47:31.7264541Z             },
2026-06-17T06:47:31.7265094Z             {
2026-06-17T06:47:31.7265740Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-17T06:47:31.7266550Z               "line": 779
2026-06-17T06:47:31.7267171Z             },
2026-06-17T06:47:31.7267713Z             {
2026-06-17T06:47:31.7268345Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-17T06:47:31.7269232Z               "line": 796
2026-06-17T06:47:31.7269857Z             },
2026-06-17T06:47:31.7270406Z             {
2026-06-17T06:47:31.7271047Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-17T06:47:31.7271853Z               "line": 850
2026-06-17T06:47:31.7272501Z             },
2026-06-17T06:47:31.7273053Z             {
2026-06-17T06:47:31.7273710Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-17T06:47:31.7274549Z               "line": 1282
2026-06-17T06:47:31.7275169Z             },
2026-06-17T06:47:31.7275721Z             {
2026-06-17T06:47:31.7276371Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-17T06:47:31.7277206Z               "line": 1294
2026-06-17T06:47:31.7277836Z             },
2026-06-17T06:47:31.7278382Z             {
2026-06-17T06:47:31.7279130Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-17T06:47:31.7279987Z               "line": 110
2026-06-17T06:47:31.7280612Z             },
2026-06-17T06:47:31.7281159Z             {
2026-06-17T06:47:31.7281812Z               "path": "crates/spt-daemon/tests/resume.rs",
2026-06-17T06:47:31.7282657Z               "line": 143
2026-06-17T06:47:31.7283282Z             }
2026-06-17T06:47:31.7283984Z           ]
2026-06-17T06:47:31.7284523Z         }
2026-06-17T06:47:31.7285056Z       }
2026-06-17T06:47:31.7285580Z     },
2026-06-17T06:47:31.7286107Z     {
2026-06-17T06:47:31.7286683Z       "id": "REQ-DAEMON-3",
2026-06-17T06:47:31.7287589Z       "title": "Any api invocation auto-starts the daemon if absent",
2026-06-17T06:47:31.7288558Z       "requiredStages": [
2026-06-17T06:47:31.7289255Z         "impl",
2026-06-17T06:47:31.7289827Z         "unit",
2026-06-17T06:47:31.7290509Z         "int"
2026-06-17T06:47:31.7291082Z       ],
2026-06-17T06:47:31.7291621Z       "stages": {
2026-06-17T06:47:31.7292191Z         "doc": {
2026-06-17T06:47:31.7292782Z           "complete": false,
2026-06-17T06:47:31.7293447Z           "evidence": []
2026-06-17T06:47:31.7293708Z         },
2026-06-17T06:47:31.7293954Z         "impl": {
2026-06-17T06:47:31.7294229Z           "complete": true,
2026-06-17T06:47:31.7294496Z           "evidence": [
2026-06-17T06:47:31.7294753Z             {
2026-06-17T06:47:31.7295107Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-17T06:47:31.7295379Z               "line": 14
2026-06-17T06:47:31.7295635Z             },
2026-06-17T06:47:31.7295878Z             {
2026-06-17T06:47:31.7296250Z               "path": "crates/spt-daemon/src/endpoint.rs",
2026-06-17T06:47:31.7296518Z               "line": 11
2026-06-17T06:47:31.7296808Z             },
2026-06-17T06:47:31.7297055Z             {
2026-06-17T06:47:31.7297387Z               "path": "crates/spt/src/api/mod.rs",
2026-06-17T06:47:31.7297655Z               "line": 301
2026-06-17T06:47:31.7297907Z             },
2026-06-17T06:47:31.7298159Z             {
2026-06-17T06:47:31.7298464Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.7298741Z               "line": 1772
2026-06-17T06:47:31.7299060Z             },
2026-06-17T06:47:31.7299313Z             {
2026-06-17T06:47:31.7299621Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.7299882Z               "line": 3959
2026-06-17T06:47:31.7300144Z             },
2026-06-17T06:47:31.7300401Z             {
2026-06-17T06:47:31.7300711Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.7300974Z               "line": 3980
2026-06-17T06:47:31.7301222Z             }
2026-06-17T06:47:31.7301471Z           ]
2026-06-17T06:47:31.7301718Z         },
2026-06-17T06:47:31.7301975Z         "int": {
2026-06-17T06:47:31.7302241Z           "complete": true,
2026-06-17T06:47:31.7302509Z           "evidence": [
2026-06-17T06:47:31.7302757Z             {
2026-06-17T06:47:31.7303115Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-17T06:47:31.7303372Z               "line": 49
2026-06-17T06:47:31.7303619Z             },
2026-06-17T06:47:31.7303891Z             {
2026-06-17T06:47:31.7304239Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-17T06:47:31.7304514Z               "line": 487
2026-06-17T06:47:31.7304762Z             }
2026-06-17T06:47:31.7305013Z           ]
2026-06-17T06:47:31.7305275Z         },
2026-06-17T06:47:31.7305518Z         "unit": {
2026-06-17T06:47:31.7305790Z           "complete": true,
2026-06-17T06:47:31.7306062Z           "evidence": [
2026-06-17T06:47:31.7306316Z             {
2026-06-17T06:47:31.7306673Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-17T06:47:31.7306950Z               "line": 804
2026-06-17T06:47:31.7307208Z             },
2026-06-17T06:47:31.7307458Z             {
2026-06-17T06:47:31.7307770Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.7308037Z               "line": 9922
2026-06-17T06:47:31.7308291Z             }
2026-06-17T06:47:31.7308544Z           ]
2026-06-17T06:47:31.7308796Z         }
2026-06-17T06:47:31.7309111Z       }
2026-06-17T06:47:31.7309363Z     },
2026-06-17T06:47:31.7309620Z     {
2026-06-17T06:47:31.7309892Z       "id": "REQ-DAEMON-4",
2026-06-17T06:47:31.7310251Z       "title": "Honor every KNOWN-HAZARDS invariant",
2026-06-17T06:47:31.7310519Z       "requiredStages": [
2026-06-17T06:47:31.7310918Z         "impl",
2026-06-17T06:47:31.7311162Z         "unit",
2026-06-17T06:47:31.7311420Z         "int"
2026-06-17T06:47:31.7311677Z       ],
2026-06-17T06:47:31.7311939Z       "stages": {
2026-06-17T06:47:31.7312197Z         "doc": {
2026-06-17T06:47:31.7312478Z           "complete": false,
2026-06-17T06:47:31.7312741Z           "evidence": []
2026-06-17T06:47:31.7313002Z         },
2026-06-17T06:47:31.7313254Z         "impl": {
2026-06-17T06:47:31.7313535Z           "complete": true,
2026-06-17T06:47:31.7313961Z           "evidence": [
2026-06-17T06:47:31.7314208Z             {
2026-06-17T06:47:31.7314581Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-17T06:47:31.7314847Z               "line": 439
2026-06-17T06:47:31.7315103Z             },
2026-06-17T06:47:31.7315350Z             {
2026-06-17T06:47:31.7315716Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-17T06:47:31.7315984Z               "line": 504
2026-06-17T06:47:31.7316237Z             },
2026-06-17T06:47:31.7316490Z             {
2026-06-17T06:47:31.7316852Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-17T06:47:31.7317124Z               "line": 526
2026-06-17T06:47:31.7317375Z             }
2026-06-17T06:47:31.7317628Z           ]
2026-06-17T06:47:31.7317872Z         },
2026-06-17T06:47:31.7318128Z         "int": {
2026-06-17T06:47:31.7318393Z           "complete": true,
2026-06-17T06:47:31.7318654Z           "evidence": [
2026-06-17T06:47:31.7318903Z             {
2026-06-17T06:47:31.7319375Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-17T06:47:31.7319681Z               "line": 42
2026-06-17T06:47:31.7319933Z             }
2026-06-17T06:47:31.7320195Z           ]
2026-06-17T06:47:31.7320438Z         },
2026-06-17T06:47:31.7320690Z         "unit": {
2026-06-17T06:47:31.7320964Z           "complete": true,
2026-06-17T06:47:31.7321230Z           "evidence": [
2026-06-17T06:47:31.7321488Z             {
2026-06-17T06:47:31.7321851Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-17T06:47:31.7322122Z               "line": 428
2026-06-17T06:47:31.7322380Z             },
2026-06-17T06:47:31.7322620Z             {
2026-06-17T06:47:31.7323000Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-17T06:47:31.7323259Z               "line": 932
2026-06-17T06:47:31.7323509Z             },
2026-06-17T06:47:31.7323762Z             {
2026-06-17T06:47:31.7324134Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-17T06:47:31.7324401Z               "line": 1002
2026-06-17T06:47:31.7324654Z             },
2026-06-17T06:47:31.7324911Z             {
2026-06-17T06:47:31.7325288Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-17T06:47:31.7325546Z               "line": 1032
2026-06-17T06:47:31.7325797Z             },
2026-06-17T06:47:31.7326052Z             {
2026-06-17T06:47:31.7326425Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-17T06:47:31.7326691Z               "line": 1065
2026-06-17T06:47:31.7326958Z             }
2026-06-17T06:47:31.7327206Z           ]
2026-06-17T06:47:31.7327459Z         }
2026-06-17T06:47:31.7327699Z       }
2026-06-17T06:47:31.7327950Z     },
2026-06-17T06:47:31.7328193Z     {
2026-06-17T06:47:31.7328460Z       "id": "REQ-DAEMON-5",
2026-06-17T06:47:31.7332358Z       "title": "Pump liveness: the peer pump writes a last-tick heartbeat consumed by daemon status / subnet status (decision 23 render legs in REQ-CLI-2/REQ-SUBNET-8); the daemon supervises the pump task — a panic is caught, logged loudly, and the pump restarts with capped backoff (≤5 min), so a 5.9-class death self-heals visibly instead of silently halving the daemon (M8 decision 23; field motivation: hfenduleam 2026-06-07 half-death)",
2026-06-17T06:47:31.7332655Z       "requiredStages": [
2026-06-17T06:47:31.7332916Z         "impl",
2026-06-17T06:47:31.7333175Z         "unit"
2026-06-17T06:47:31.7333509Z       ],
2026-06-17T06:47:31.7333781Z       "stages": {
2026-06-17T06:47:31.7334030Z         "doc": {
2026-06-17T06:47:31.7334442Z           "complete": false,
2026-06-17T06:47:31.7334713Z           "evidence": []
2026-06-17T06:47:31.7334975Z         },
2026-06-17T06:47:31.7335233Z         "impl": {
2026-06-17T06:47:31.7335505Z           "complete": true,
2026-06-17T06:47:31.7335772Z           "evidence": [
2026-06-17T06:47:31.7336021Z             {
2026-06-17T06:47:31.7336395Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-17T06:47:31.7336655Z               "line": 476
2026-06-17T06:47:31.7337013Z             },
2026-06-17T06:47:31.7337275Z             {
2026-06-17T06:47:31.7337643Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-17T06:47:31.7337914Z               "line": 769
2026-06-17T06:47:31.7338162Z             },
2026-06-17T06:47:31.7338410Z             {
2026-06-17T06:47:31.7338777Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-17T06:47:31.7343157Z               "line": 782
2026-06-17T06:47:31.7343425Z             },
2026-06-17T06:47:31.7343673Z             {
2026-06-17T06:47:31.7344055Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-17T06:47:31.7344317Z               "line": 800
2026-06-17T06:47:31.7344567Z             },
2026-06-17T06:47:31.7344815Z             {
2026-06-17T06:47:31.7345177Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-17T06:47:31.7345441Z               "line": 841
2026-06-17T06:47:31.7345684Z             }
2026-06-17T06:47:31.7345927Z           ]
2026-06-17T06:47:31.7346170Z         },
2026-06-17T06:47:31.7346422Z         "int": {
2026-06-17T06:47:31.7346694Z           "complete": false,
2026-06-17T06:47:31.7346965Z           "evidence": []
2026-06-17T06:47:31.7347210Z         },
2026-06-17T06:47:31.7347453Z         "unit": {
2026-06-17T06:47:31.7347720Z           "complete": true,
2026-06-17T06:47:31.7347974Z           "evidence": [
2026-06-17T06:47:31.7348222Z             {
2026-06-17T06:47:31.7348588Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-17T06:47:31.7348861Z               "line": 1189
2026-06-17T06:47:31.7349209Z             },
2026-06-17T06:47:31.7349482Z             {
2026-06-17T06:47:31.7349906Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-17T06:47:31.7350169Z               "line": 1213
2026-06-17T06:47:31.7350422Z             },
2026-06-17T06:47:31.7350712Z             {
2026-06-17T06:47:31.7351099Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-17T06:47:31.7351386Z               "line": 1239
2026-06-17T06:47:31.7351666Z             }
2026-06-17T06:47:31.7351942Z           ]
2026-06-17T06:47:31.7352189Z         }
2026-06-17T06:47:31.7352431Z       }
2026-06-17T06:47:31.7352659Z     },
2026-06-17T06:47:31.7352906Z     {
2026-06-17T06:47:31.7353197Z       "id": "REQ-DAEMON-6",
2026-06-17T06:47:31.7358825Z       "title": "Service-aware `daemon start`/`stop`: when an OS service manager has a registered spt-daemon for this user, `spt daemon start` and `spt daemon stop` drive THAT service (so stop doesn't IPC-kill a unit that auto-restart-fights for the broker socket — the kitsubito 2026-06-08 loop). `start` graduates from a `run` alias to a first-class background verb (ensure-up, idempotent, non-blocking); stop routes managed→manager, manual→IPC. Linux=systemd user unit (`systemctl --user start|stop|is-active spt-daemon`, detected by unit-file presence); Windows=no controllable manager (the logon task is boot-only), so start=detached spawn / stop=IPC.",
2026-06-17T06:47:31.7359192Z       "requiredStages": [
2026-06-17T06:47:31.7359454Z         "impl",
2026-06-17T06:47:31.7359703Z         "unit"
2026-06-17T06:47:31.7359955Z       ],
2026-06-17T06:47:31.7360211Z       "stages": {
2026-06-17T06:47:31.7360457Z         "doc": {
2026-06-17T06:47:31.7360715Z           "complete": false,
2026-06-17T06:47:31.7360967Z           "evidence": []
2026-06-17T06:47:31.7361210Z         },
2026-06-17T06:47:31.7361463Z         "impl": {
2026-06-17T06:47:31.7361730Z           "complete": true,
2026-06-17T06:47:31.7361983Z           "evidence": [
2026-06-17T06:47:31.7362387Z             {
2026-06-17T06:47:31.7362745Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-17T06:47:31.7363005Z               "line": 463
2026-06-17T06:47:31.7363252Z             },
2026-06-17T06:47:31.7363495Z             {
2026-06-17T06:47:31.7363854Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-17T06:47:31.7364120Z               "line": 494
2026-06-17T06:47:31.7364373Z             },
2026-06-17T06:47:31.7364616Z             {
2026-06-17T06:47:31.7365079Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-17T06:47:31.7365346Z               "line": 55
2026-06-17T06:47:31.7365593Z             },
2026-06-17T06:47:31.7365841Z             {
2026-06-17T06:47:31.7366189Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-17T06:47:31.7366456Z               "line": 70
2026-06-17T06:47:31.7366703Z             },
2026-06-17T06:47:31.7366951Z             {
2026-06-17T06:47:31.7367261Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.7367528Z               "line": 1826
2026-06-17T06:47:31.7367777Z             },
2026-06-17T06:47:31.7368023Z             {
2026-06-17T06:47:31.7368336Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.7368597Z               "line": 1852
2026-06-17T06:47:31.7368845Z             }
2026-06-17T06:47:31.7369146Z           ]
2026-06-17T06:47:31.7369389Z         },
2026-06-17T06:47:31.7369633Z         "int": {
2026-06-17T06:47:31.7369900Z           "complete": false,
2026-06-17T06:47:31.7370171Z           "evidence": []
2026-06-17T06:47:31.7370424Z         },
2026-06-17T06:47:31.7370668Z         "unit": {
2026-06-17T06:47:31.7370933Z           "complete": true,
2026-06-17T06:47:31.7371193Z           "evidence": [
2026-06-17T06:47:31.7371450Z             {
2026-06-17T06:47:31.7371808Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-17T06:47:31.7372070Z               "line": 288
2026-06-17T06:47:31.7372314Z             },
2026-06-17T06:47:31.7372562Z             {
2026-06-17T06:47:31.7372915Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-17T06:47:31.7373173Z               "line": 299
2026-06-17T06:47:31.7373419Z             },
2026-06-17T06:47:31.7373664Z             {
2026-06-17T06:47:31.7374017Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-17T06:47:31.7374284Z               "line": 325
2026-06-17T06:47:31.7374528Z             },
2026-06-17T06:47:31.7374776Z             {
2026-06-17T06:47:31.7375124Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-17T06:47:31.7375392Z               "line": 351
2026-06-17T06:47:31.7375634Z             }
2026-06-17T06:47:31.7375877Z           ]
2026-06-17T06:47:31.7376120Z         }
2026-06-17T06:47:31.7376353Z       }
2026-06-17T06:47:31.7376596Z     },
2026-06-17T06:47:31.7376839Z     {
2026-06-17T06:47:31.7377126Z       "id": "REQ-DAEMON-7",
2026-06-17T06:47:31.7381196Z       "title": "`daemon run` is foreground-consistent on every platform: the invoking process IS the daemon, blocks until signalled, never auto-detaches or respawns into an invisible background task. The detached/de-elevated background behavior lives ONLY in `start`. Windows: an ELEVATED `daemon run` refuses with guidance (use `start`, or an unelevated shell) instead of respawning detached/de-elevated and vanishing (KH 5.7 preserved — it still never serves elevated).",
2026-06-17T06:47:31.7381469Z       "requiredStages": [
2026-06-17T06:47:31.7381714Z         "impl",
2026-06-17T06:47:31.7381967Z         "unit"
2026-06-17T06:47:31.7382207Z       ],
2026-06-17T06:47:31.7382465Z       "stages": {
2026-06-17T06:47:31.7382717Z         "doc": {
2026-06-17T06:47:31.7382984Z           "complete": false,
2026-06-17T06:47:31.7383241Z           "evidence": []
2026-06-17T06:47:31.7383498Z         },
2026-06-17T06:47:31.7383743Z         "impl": {
2026-06-17T06:47:31.7384012Z           "complete": true,
2026-06-17T06:47:31.7384276Z           "evidence": [
2026-06-17T06:47:31.7384520Z             {
2026-06-17T06:47:31.7384998Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-17T06:47:31.7385260Z               "line": 513
2026-06-17T06:47:31.7385517Z             },
2026-06-17T06:47:31.7385765Z             {
2026-06-17T06:47:31.7386137Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-17T06:47:31.7386403Z               "line": 601
2026-06-17T06:47:31.7386657Z             },
2026-06-17T06:47:31.7386909Z             {
2026-06-17T06:47:31.7387262Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-17T06:47:31.7387648Z               "line": 89
2026-06-17T06:47:31.7387896Z             },
2026-06-17T06:47:31.7388158Z             {
2026-06-17T06:47:31.7388463Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.7388739Z               "line": 1773
2026-06-17T06:47:31.7389053Z             }
2026-06-17T06:47:31.7389299Z           ]
2026-06-17T06:47:31.7389547Z         },
2026-06-17T06:47:31.7389799Z         "int": {
2026-06-17T06:47:31.7390096Z           "complete": false,
2026-06-17T06:47:31.7390357Z           "evidence": []
2026-06-17T06:47:31.7390614Z         },
2026-06-17T06:47:31.7390862Z         "unit": {
2026-06-17T06:47:31.7391135Z           "complete": true,
2026-06-17T06:47:31.7391398Z           "evidence": [
2026-06-17T06:47:31.7391631Z             {
2026-06-17T06:47:31.7391996Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-17T06:47:31.7392256Z               "line": 314
2026-06-17T06:47:31.7392518Z             },
2026-06-17T06:47:31.7392772Z             {
2026-06-17T06:47:31.7393081Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.7393354Z               "line": 7416
2026-06-17T06:47:31.7393587Z             }
2026-06-17T06:47:31.7393834Z           ]
2026-06-17T06:47:31.7394082Z         }
2026-06-17T06:47:31.7394327Z       }
2026-06-17T06:47:31.7394572Z     },
2026-06-17T06:47:31.7394813Z     {
2026-06-17T06:47:31.7395090Z       "id": "REQ-DAEMON-8",
2026-06-17T06:47:31.7397798Z       "title": "Internal auto-start prefers the service: `ensure_running` (any spt command's implicit daemon start, REQ-DAEMON-3) routes through the service-aware start path — when a manager has a registered service it starts THAT, never a competing manual `spawn_detached` daemon that would fight the service for the socket.",
2026-06-17T06:47:31.7398094Z       "requiredStages": [
2026-06-17T06:47:31.7398345Z         "impl",
2026-06-17T06:47:31.7398598Z         "unit"
2026-06-17T06:47:31.7398851Z       ],
2026-06-17T06:47:31.7399189Z       "stages": {
2026-06-17T06:47:31.7399467Z         "doc": {
2026-06-17T06:47:31.7399732Z           "complete": false,
2026-06-17T06:47:31.7399997Z           "evidence": []
2026-06-17T06:47:31.7400254Z         },
2026-06-17T06:47:31.7400507Z         "impl": {
2026-06-17T06:47:31.7400774Z           "complete": true,
2026-06-17T06:47:31.7401032Z           "evidence": [
2026-06-17T06:47:31.7401275Z             {
2026-06-17T06:47:31.7401624Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-17T06:47:31.7401895Z               "line": 413
2026-06-17T06:47:31.7402138Z             },
2026-06-17T06:47:31.7402390Z             {
2026-06-17T06:47:31.7402740Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-17T06:47:31.7402998Z               "line": 56
2026-06-17T06:47:31.7403246Z             }
2026-06-17T06:47:31.7403488Z           ]
2026-06-17T06:47:31.7403741Z         },
2026-06-17T06:47:31.7403994Z         "int": {
2026-06-17T06:47:31.7404267Z           "complete": false,
2026-06-17T06:47:31.7404534Z           "evidence": []
2026-06-17T06:47:31.7404782Z         },
2026-06-17T06:47:31.7405033Z         "unit": {
2026-06-17T06:47:31.7405292Z           "complete": true,
2026-06-17T06:47:31.7405566Z           "evidence": [
2026-06-17T06:47:31.7405818Z             {
2026-06-17T06:47:31.7406166Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-17T06:47:31.7406428Z               "line": 288
2026-06-17T06:47:31.7406675Z             },
2026-06-17T06:47:31.7406928Z             {
2026-06-17T06:47:31.7407382Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-17T06:47:31.7407639Z               "line": 325
2026-06-17T06:47:31.7407900Z             }
2026-06-17T06:47:31.7408143Z           ]
2026-06-17T06:47:31.7408391Z         }
2026-06-17T06:47:31.7408634Z       }
2026-06-17T06:47:31.7408872Z     },
2026-06-17T06:47:31.7409192Z     {
2026-06-17T06:47:31.7409469Z       "id": "REQ-DAEMON-9",
2026-06-17T06:47:31.7420158Z       "title": "Net-bind boot-race resilience: a daemon that comes up net-less (NetHost::start failed — e.g. the systemd unit autostarted before the network/DNS stack was ready, `Failed to create an address lookup service`) must SELF-HEAL — retry the net bring-up in the background with capped backoff and, on success, attach net to the broker + spawn the dispatcher/peer-pump (which today are gated on `net_up` at boot and so never start, leaving the node silently unreachable until a manual restart — kitsubito 2026-06-08). Status surfaces the net-less state honestly (a net-less broker renders as 'no connection', not only a pump-STALLED line with a bogus pre-boot heartbeat age). The installer's autostart unit waits for the network (`Wants=/After=network-online.target`) as belt-and-suspenders.",
2026-06-17T06:47:31.7420653Z       "requiredStages": [
2026-06-17T06:47:31.7420918Z         "impl",
2026-06-17T06:47:31.7421175Z         "unit"
2026-06-17T06:47:31.7421418Z       ],
2026-06-17T06:47:31.7421680Z       "stages": {
2026-06-17T06:47:31.7421942Z         "doc": {
2026-06-17T06:47:31.7422224Z           "complete": false,
2026-06-17T06:47:31.7422481Z           "evidence": []
2026-06-17T06:47:31.7422725Z         },
2026-06-17T06:47:31.7422986Z         "impl": {
2026-06-17T06:47:31.7423263Z           "complete": true,
2026-06-17T06:47:31.7423525Z           "evidence": [
2026-06-17T06:47:31.7423771Z             {
2026-06-17T06:47:31.7424152Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T06:47:31.7424424Z               "line": 276
2026-06-17T06:47:31.7424681Z             },
2026-06-17T06:47:31.7424938Z             {
2026-06-17T06:47:31.7425302Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-17T06:47:31.7425568Z               "line": 600
2026-06-17T06:47:31.7425816Z             },
2026-06-17T06:47:31.7426068Z             {
2026-06-17T06:47:31.7426432Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-17T06:47:31.7426695Z               "line": 192
2026-06-17T06:47:31.7426957Z             },
2026-06-17T06:47:31.7427210Z             {
2026-06-17T06:47:31.7427577Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-17T06:47:31.7427839Z               "line": 312
2026-06-17T06:47:31.7428091Z             },
2026-06-17T06:47:31.7428339Z             {
2026-06-17T06:47:31.7428701Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-17T06:47:31.7429039Z               "line": 349
2026-06-17T06:47:31.7429283Z             },
2026-06-17T06:47:31.7429540Z             {
2026-06-17T06:47:31.7429846Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.7430118Z               "line": 1881
2026-06-17T06:47:31.7430369Z             }
2026-06-17T06:47:31.7430617Z           ]
2026-06-17T06:47:31.7430869Z         },
2026-06-17T06:47:31.7431115Z         "int": {
2026-06-17T06:47:31.7431379Z           "complete": false,
2026-06-17T06:47:31.7431653Z           "evidence": []
2026-06-17T06:47:31.7431892Z         },
2026-06-17T06:47:31.7432173Z         "unit": {
2026-06-17T06:47:31.7432465Z           "complete": true,
2026-06-17T06:47:31.7432760Z           "evidence": [
2026-06-17T06:47:31.7433046Z             {
2026-06-17T06:47:31.7433418Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-17T06:47:31.7433690Z               "line": 760
2026-06-17T06:47:31.7433939Z             },
2026-06-17T06:47:31.7434184Z             {
2026-06-17T06:47:31.7434491Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.7434768Z               "line": 9787
2026-06-17T06:47:31.7435017Z             }
2026-06-17T06:47:31.7435265Z           ]
2026-06-17T06:47:31.7435627Z         }
2026-06-17T06:47:31.7435881Z       }
2026-06-17T06:47:31.7436133Z     },
2026-06-17T06:47:31.7436376Z     {
2026-06-17T06:47:31.7436652Z       "id": "REQ-DOCS-1",
2026-06-17T06:47:31.7437241Z       "title": "Dual-audience docs (human + AI dev-agent), markdown once / two depths",
2026-06-17T06:47:31.7437532Z       "requiredStages": [
2026-06-17T06:47:31.7437784Z         "doc",
2026-06-17T06:47:31.7438036Z         "impl"
2026-06-17T06:47:31.7438289Z       ],
2026-06-17T06:47:31.7438637Z       "stages": {
2026-06-17T06:47:31.7438894Z         "doc": {
2026-06-17T06:47:31.7439243Z           "complete": true,
2026-06-17T06:47:31.7439509Z           "evidence": [
2026-06-17T06:47:31.7439758Z             {
2026-06-17T06:47:31.7440068Z               "path": "docs-site/src/index.md",
2026-06-17T06:47:31.7440325Z               "line": 50
2026-06-17T06:47:31.7440567Z             }
2026-06-17T06:47:31.7440801Z           ]
2026-06-17T06:47:31.7441045Z         },
2026-06-17T06:47:31.7441298Z         "impl": {
2026-06-17T06:47:31.7441564Z           "complete": true,
2026-06-17T06:47:31.7441816Z           "evidence": [
2026-06-17T06:47:31.7442062Z             {
2026-06-17T06:47:31.7442438Z               "path": ".github/workflows/docs-publish.yml",
2026-06-17T06:47:31.7442701Z               "line": 12
2026-06-17T06:47:31.7442953Z             },
2026-06-17T06:47:31.7443206Z             {
2026-06-17T06:47:31.7443525Z               "path": "crates/xtask/src/main.rs",
2026-06-17T06:47:31.7443792Z               "line": 14
2026-06-17T06:47:31.7444040Z             }
2026-06-17T06:47:31.7444292Z           ]
2026-06-17T06:47:31.7444542Z         },
2026-06-17T06:47:31.7444788Z         "int": {
2026-06-17T06:47:31.7445070Z           "complete": false,
2026-06-17T06:47:31.7445333Z           "evidence": []
2026-06-17T06:47:31.7445577Z         },
2026-06-17T06:47:31.7445839Z         "unit": {
2026-06-17T06:47:31.7446112Z           "complete": false,
2026-06-17T06:47:31.7446373Z           "evidence": []
2026-06-17T06:47:31.7446621Z         }
2026-06-17T06:47:31.7446864Z       }
2026-06-17T06:47:31.7447104Z     },
2026-06-17T06:47:31.7447344Z     {
2026-06-17T06:47:31.7447618Z       "id": "REQ-DOCS-2",
2026-06-17T06:47:31.7448082Z       "title": "Sub-10-minute runnable killer quickstart per audience",
2026-06-17T06:47:31.7448373Z       "requiredStages": [
2026-06-17T06:47:31.7448620Z         "doc",
2026-06-17T06:47:31.7448873Z         "int"
2026-06-17T06:47:31.7449197Z       ],
2026-06-17T06:47:31.7449479Z       "stages": {
2026-06-17T06:47:31.7449726Z         "doc": {
2026-06-17T06:47:31.7449999Z           "complete": true,
2026-06-17T06:47:31.7450269Z           "evidence": [
2026-06-17T06:47:31.7450507Z             {
2026-06-17T06:47:31.7451023Z               "path": "docs-site/src/harness-contract/integration-checklist.md",
2026-06-17T06:47:31.7451276Z               "line": 3
2026-06-17T06:47:31.7451519Z             },
2026-06-17T06:47:31.7451761Z             {
2026-06-17T06:47:31.7452138Z               "path": "docs-site/src/quickstart/adapter.md",
2026-06-17T06:47:31.7452409Z               "line": 3
2026-06-17T06:47:31.7452659Z             },
2026-06-17T06:47:31.7452908Z             {
2026-06-17T06:47:31.7453299Z               "path": "docs-site/src/quickstart/messaging.md",
2026-06-17T06:47:31.7453556Z               "line": 3
2026-06-17T06:47:31.7453814Z             }
2026-06-17T06:47:31.7454056Z           ]
2026-06-17T06:47:31.7454314Z         },
2026-06-17T06:47:31.7454571Z         "impl": {
2026-06-17T06:47:31.7454848Z           "complete": false,
2026-06-17T06:47:31.7455112Z           "evidence": []
2026-06-17T06:47:31.7455357Z         },
2026-06-17T06:47:31.7455626Z         "int": {
2026-06-17T06:47:31.7455888Z           "complete": true,
2026-06-17T06:47:31.7456156Z           "evidence": [
2026-06-17T06:47:31.7456390Z             {
2026-06-17T06:47:31.7456766Z               "path": "crates/spt/tests/quickstart_e2e.rs",
2026-06-17T06:47:31.7457034Z               "line": 14
2026-06-17T06:47:31.7457405Z             }
2026-06-17T06:47:31.7457669Z           ]
2026-06-17T06:47:31.7457914Z         },
2026-06-17T06:47:31.7458169Z         "unit": {
2026-06-17T06:47:31.7458437Z           "complete": false,
2026-06-17T06:47:31.7458704Z           "evidence": []
2026-06-17T06:47:31.7459052Z         }
2026-06-17T06:47:31.7459300Z       }
2026-06-17T06:47:31.7459549Z     },
2026-06-17T06:47:31.7459781Z     {
2026-06-17T06:47:31.7460053Z       "id": "REQ-DOCS-3",
2026-06-17T06:47:31.7460545Z       "title": "Diátaxis structure; one canonical way to do X",
2026-06-17T06:47:31.7460940Z       "requiredStages": [
2026-06-17T06:47:31.7461197Z         "doc"
2026-06-17T06:47:31.7461450Z       ],
2026-06-17T06:47:31.7461716Z       "stages": {
2026-06-17T06:47:31.7461969Z         "doc": {
2026-06-17T06:47:31.7462236Z           "complete": true,
2026-06-17T06:47:31.7462499Z           "evidence": [
2026-06-17T06:47:31.7462757Z             {
2026-06-17T06:47:31.7463083Z               "path": "docs-site/src/index.md",
2026-06-17T06:47:31.7463353Z               "line": 42
2026-06-17T06:47:31.7463596Z             }
2026-06-17T06:47:31.7463844Z           ]
2026-06-17T06:47:31.7464093Z         },
2026-06-17T06:47:31.7464350Z         "impl": {
2026-06-17T06:47:31.7464626Z           "complete": false,
2026-06-17T06:47:31.7464893Z           "evidence": []
2026-06-17T06:47:31.7465141Z         },
2026-06-17T06:47:31.7465404Z         "int": {
2026-06-17T06:47:31.7465667Z           "complete": false,
2026-06-17T06:47:31.7465936Z           "evidence": []
2026-06-17T06:47:31.7466196Z         },
2026-06-17T06:47:31.7466453Z         "unit": {
2026-06-17T06:47:31.7466731Z           "complete": false,
2026-06-17T06:47:31.7466993Z           "evidence": []
2026-06-17T06:47:31.7467246Z         }
2026-06-17T06:47:31.7467493Z       }
2026-06-17T06:47:31.7467741Z     },
2026-06-17T06:47:31.7467993Z     {
2026-06-17T06:47:31.7468266Z       "id": "REQ-DOCS-4",
2026-06-17T06:47:31.7468854Z       "title": "Agent-consumable layer (llms.txt, manifest schema, MCP, CLI help)",
2026-06-17T06:47:31.7469212Z       "requiredStages": [
2026-06-17T06:47:31.7469465Z         "doc",
2026-06-17T06:47:31.7469726Z         "impl",
2026-06-17T06:47:31.7469983Z         "unit"
2026-06-17T06:47:31.7470232Z       ],
2026-06-17T06:47:31.7470499Z       "stages": {
2026-06-17T06:47:31.7470758Z         "doc": {
2026-06-17T06:47:31.7471024Z           "complete": true,
2026-06-17T06:47:31.7471288Z           "evidence": [
2026-06-17T06:47:31.7471537Z             {
2026-06-17T06:47:31.7471861Z               "path": "docs/DOCS-STRATEGY.md",
2026-06-17T06:47:31.7472124Z               "line": 35
2026-06-17T06:47:31.7472386Z             }
2026-06-17T06:47:31.7472634Z           ]
2026-06-17T06:47:31.7472882Z         },
2026-06-17T06:47:31.7473134Z         "impl": {
2026-06-17T06:47:31.7473406Z           "complete": true,
2026-06-17T06:47:31.7473667Z           "evidence": [
2026-06-17T06:47:31.7473913Z             {
2026-06-17T06:47:31.7474290Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T06:47:31.7474552Z               "line": 691
2026-06-17T06:47:31.7474799Z             },
2026-06-17T06:47:31.7475053Z             {
2026-06-17T06:47:31.7475368Z               "path": "crates/xtask/src/main.rs",
2026-06-17T06:47:31.7475635Z               "line": 15
2026-06-17T06:47:31.7475879Z             }
2026-06-17T06:47:31.7476131Z           ]
2026-06-17T06:47:31.7476387Z         },
2026-06-17T06:47:31.7476638Z         "int": {
2026-06-17T06:47:31.7476919Z           "complete": false,
2026-06-17T06:47:31.7477182Z           "evidence": []
2026-06-17T06:47:31.7477429Z         },
2026-06-17T06:47:31.7477681Z         "unit": {
2026-06-17T06:47:31.7477958Z           "complete": true,
2026-06-17T06:47:31.7478225Z           "evidence": [
2026-06-17T06:47:31.7478465Z             {
2026-06-17T06:47:31.7478831Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T06:47:31.7479172Z               "line": 1444
2026-06-17T06:47:31.7479429Z             }
2026-06-17T06:47:31.7479666Z           ]
2026-06-17T06:47:31.7480035Z         }
2026-06-17T06:47:31.7480281Z       }
2026-06-17T06:47:31.7480520Z     },
2026-06-17T06:47:31.7480768Z     {
2026-06-17T06:47:31.7481050Z       "id": "REQ-DOCS-5",
2026-06-17T06:47:31.7481632Z       "title": "Anti-drift: rustdoc/schema/exports/CLI-help generated + CI-checked",
2026-06-17T06:47:31.7481911Z       "requiredStages": [
2026-06-17T06:47:31.7482173Z         "impl",
2026-06-17T06:47:31.7482417Z         "int"
2026-06-17T06:47:31.7482670Z       ],
2026-06-17T06:47:31.7483051Z       "stages": {
2026-06-17T06:47:31.7483299Z         "doc": {
2026-06-17T06:47:31.7483581Z           "complete": false,
2026-06-17T06:47:31.7483843Z           "evidence": []
2026-06-17T06:47:31.7484094Z         },
2026-06-17T06:47:31.7484359Z         "impl": {
2026-06-17T06:47:31.7484627Z           "complete": true,
2026-06-17T06:47:31.7484894Z           "evidence": [
2026-06-17T06:47:31.7485142Z             {
2026-06-17T06:47:31.7485509Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T06:47:31.7485771Z               "line": 692
2026-06-17T06:47:31.7486018Z             },
2026-06-17T06:47:31.7486271Z             {
2026-06-17T06:47:31.7486585Z               "path": "crates/xtask/src/main.rs",
2026-06-17T06:47:31.7486853Z               "line": 113
2026-06-17T06:47:31.7487104Z             }
2026-06-17T06:47:31.7487355Z           ]
2026-06-17T06:47:31.7487607Z         },
2026-06-17T06:47:31.7487889Z         "int": {
2026-06-17T06:47:31.7488194Z           "complete": true,
2026-06-17T06:47:31.7488456Z           "evidence": [
2026-06-17T06:47:31.7488705Z             {
2026-06-17T06:47:31.7489104Z               "path": ".github/workflows/ci.yml",
2026-06-17T06:47:31.7489373Z               "line": 126
2026-06-17T06:47:31.7489619Z             },
2026-06-17T06:47:31.7489878Z             {
2026-06-17T06:47:31.7490246Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T06:47:31.7490508Z               "line": 1481
2026-06-17T06:47:31.7490765Z             }
2026-06-17T06:47:31.7491018Z           ]
2026-06-17T06:47:31.7491277Z         },
2026-06-17T06:47:31.7491525Z         "unit": {
2026-06-17T06:47:31.7491805Z           "complete": false,
2026-06-17T06:47:31.7492072Z           "evidence": []
2026-06-17T06:47:31.7492310Z         }
2026-06-17T06:47:31.7492563Z       }
2026-06-17T06:47:31.7492801Z     },
2026-06-17T06:47:31.7493053Z     {
2026-06-17T06:47:31.7493324Z       "id": "REQ-DOCS-6",
2026-06-17T06:47:31.7494317Z       "title": "spt how-to <topic>: in-binary task-oriented agent instructions (anti-drift; quickstart prompts point agents at it)",
2026-06-17T06:47:31.7494607Z       "requiredStages": [
2026-06-17T06:47:31.7494853Z         "impl",
2026-06-17T06:47:31.7495105Z         "unit",
2026-06-17T06:47:31.7495353Z         "int"
2026-06-17T06:47:31.7495601Z       ],
2026-06-17T06:47:31.7495849Z       "stages": {
2026-06-17T06:47:31.7496092Z         "doc": {
2026-06-17T06:47:31.7496365Z           "complete": true,
2026-06-17T06:47:31.7496631Z           "evidence": [
2026-06-17T06:47:31.7496888Z             {
2026-06-17T06:47:31.7497266Z               "path": "docs-site/src/quickstart/messaging.md",
2026-06-17T06:47:31.7497530Z               "line": 4
2026-06-17T06:47:31.7497777Z             }
2026-06-17T06:47:31.7498030Z           ]
2026-06-17T06:47:31.7498278Z         },
2026-06-17T06:47:31.7498530Z         "impl": {
2026-06-17T06:47:31.7498796Z           "complete": true,
2026-06-17T06:47:31.7499150Z           "evidence": [
2026-06-17T06:47:31.7499417Z             {
2026-06-17T06:47:31.7499755Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.7500022Z               "line": 4957
2026-06-17T06:47:31.7500273Z             }
2026-06-17T06:47:31.7500534Z           ]
2026-06-17T06:47:31.7500791Z         },
2026-06-17T06:47:31.7501029Z         "int": {
2026-06-17T06:47:31.7501302Z           "complete": true,
2026-06-17T06:47:31.7501555Z           "evidence": [
2026-06-17T06:47:31.7501808Z             {
2026-06-17T06:47:31.7502184Z               "path": "crates/spt/tests/quickstart_e2e.rs",
2026-06-17T06:47:31.7502560Z               "line": 39
2026-06-17T06:47:31.7502842Z             }
2026-06-17T06:47:31.7503094Z           ]
2026-06-17T06:47:31.7503351Z         },
2026-06-17T06:47:31.7503608Z         "unit": {
2026-06-17T06:47:31.7503884Z           "complete": true,
2026-06-17T06:47:31.7504152Z           "evidence": [
2026-06-17T06:47:31.7504401Z             {
2026-06-17T06:47:31.7504720Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.7505086Z               "line": 9949
2026-06-17T06:47:31.7505348Z             }
2026-06-17T06:47:31.7505594Z           ]
2026-06-17T06:47:31.7505851Z         }
2026-06-17T06:47:31.7506089Z       }
2026-06-17T06:47:31.7506342Z     },
2026-06-17T06:47:31.7506582Z     {
2026-06-17T06:47:31.7506857Z       "id": "REQ-ELEVATE-1",
2026-06-17T06:47:31.7515837Z       "title": "Cross-platform self-elevating re-launch for privilege-gated commands: a pure decision seam `decide_elevation_path(os, elevation, interactive_tty, has_display, has_pkexec, has_term_emulator) -> ElevatePath{AlreadyElevated, InlineSudo, UacWindow, Pkexec, TerminalEmulator, PrintHint}` selecting how to re-acquire privilege, and the per-OS impure launchers it dispatches — Windows UAC console (ShellExecuteW `runas` on the abs-exe + verbatim argv; the elevated child does the work, prints 'You can close this window', and pauses for a keypress; the original prints 'Elevated terminal launched…' and exits 0; NEVER pipes the child's stdout back across the privilege boundary), Linux desktop pkexec (preferred, native polkit GUI auth) else x-terminal-emulator -e sudo (fallback list x-terminal-emulator→gnome-terminal→konsole→xterm), the existing interactive-TTY inline sudo, and the headless/no-path floor that prints the absolute-path command. Reused by every gated command (not subnet-specific). Generalizes should_auto_elevate.",
2026-06-17T06:47:31.7516149Z       "requiredStages": [
2026-06-17T06:47:31.7516397Z         "doc",
2026-06-17T06:47:31.7516650Z         "impl",
2026-06-17T06:47:31.7516912Z         "unit"
2026-06-17T06:47:31.7517166Z       ],
2026-06-17T06:47:31.7517417Z       "stages": {
2026-06-17T06:47:31.7517660Z         "doc": {
2026-06-17T06:47:31.7517942Z           "complete": true,
2026-06-17T06:47:31.7518199Z           "evidence": [
2026-06-17T06:47:31.7518449Z             {
2026-06-17T06:47:31.7518737Z               "path": "CONTEXT.md",
2026-06-17T06:47:31.7519078Z               "line": 639
2026-06-17T06:47:31.7519340Z             }
2026-06-17T06:47:31.7519602Z           ]
2026-06-17T06:47:31.7519851Z         },
2026-06-17T06:47:31.7520099Z         "impl": {
2026-06-17T06:47:31.7520371Z           "complete": true,
2026-06-17T06:47:31.7520633Z           "evidence": [
2026-06-17T06:47:31.7520885Z             {
2026-06-17T06:47:31.7521208Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.7521478Z               "line": 3296
2026-06-17T06:47:31.7521727Z             },
2026-06-17T06:47:31.7521970Z             {
2026-06-17T06:47:31.7522289Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.7522556Z               "line": 3341
2026-06-17T06:47:31.7522794Z             },
2026-06-17T06:47:31.7523047Z             {
2026-06-17T06:47:31.7523352Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.7523629Z               "line": 3403
2026-06-17T06:47:31.7523878Z             },
2026-06-17T06:47:31.7524132Z             {
2026-06-17T06:47:31.7524471Z               "path": "crates/spt/src/elevation.rs",
2026-06-17T06:47:31.7524728Z               "line": 92
2026-06-17T06:47:31.7524987Z             },
2026-06-17T06:47:31.7525235Z             {
2026-06-17T06:47:31.7525573Z               "path": "crates/spt/src/elevation.rs",
2026-06-17T06:47:31.7525841Z               "line": 148
2026-06-17T06:47:31.7526079Z             }
2026-06-17T06:47:31.7526325Z           ]
2026-06-17T06:47:31.7526566Z         },
2026-06-17T06:47:31.7526824Z         "int": {
2026-06-17T06:47:31.7527096Z           "complete": false,
2026-06-17T06:47:31.7527486Z           "evidence": []
2026-06-17T06:47:31.7527726Z         },
2026-06-17T06:47:31.7527992Z         "unit": {
2026-06-17T06:47:31.7528259Z           "complete": true,
2026-06-17T06:47:31.7528526Z           "evidence": [
2026-06-17T06:47:31.7528783Z             {
2026-06-17T06:47:31.7529192Z               "path": "crates/spt/src/elevation.rs",
2026-06-17T06:47:31.7529471Z               "line": 442
2026-06-17T06:47:31.7529734Z             },
2026-06-17T06:47:31.7529982Z             {
2026-06-17T06:47:31.7530425Z               "path": "crates/spt/src/elevation.rs",
2026-06-17T06:47:31.7530692Z               "line": 460
2026-06-17T06:47:31.7530946Z             }
2026-06-17T06:47:31.7531193Z           ]
2026-06-17T06:47:31.7531450Z         }
2026-06-17T06:47:31.7531693Z       }
2026-06-17T06:47:31.7531944Z     },
2026-06-17T06:47:31.7532191Z     {
2026-06-17T06:47:31.7532453Z       "id": "REQ-EP-1",
2026-06-17T06:47:31.7532840Z       "title": "Day-one endpoint types; open type system",
2026-06-17T06:47:31.7533121Z       "requiredStages": [
2026-06-17T06:47:31.7533368Z         "impl",
2026-06-17T06:47:31.7533621Z         "unit"
2026-06-17T06:47:31.7533869Z       ],
2026-06-17T06:47:31.7534132Z       "stages": {
2026-06-17T06:47:31.7534375Z         "doc": {
2026-06-17T06:47:31.7534645Z           "complete": false,
2026-06-17T06:47:31.7534898Z           "evidence": []
2026-06-17T06:47:31.7535151Z         },
2026-06-17T06:47:31.7535399Z         "impl": {
2026-06-17T06:47:31.7535665Z           "complete": true,
2026-06-17T06:47:31.7535937Z           "evidence": [
2026-06-17T06:47:31.7536186Z             {
2026-06-17T06:47:31.7536548Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-17T06:47:31.7536809Z               "line": 77
2026-06-17T06:47:31.7537066Z             },
2026-06-17T06:47:31.7537307Z             {
2026-06-17T06:47:31.7537666Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-17T06:47:31.7537937Z               "line": 94
2026-06-17T06:47:31.7538179Z             }
2026-06-17T06:47:31.7538428Z           ]
2026-06-17T06:47:31.7538676Z         },
2026-06-17T06:47:31.7538934Z         "int": {
2026-06-17T06:47:31.7539301Z           "complete": false,
2026-06-17T06:47:31.7539569Z           "evidence": []
2026-06-17T06:47:31.7539824Z         },
2026-06-17T06:47:31.7540084Z         "unit": {
2026-06-17T06:47:31.7540360Z           "complete": true,
2026-06-17T06:47:31.7540619Z           "evidence": [
2026-06-17T06:47:31.7540881Z             {
2026-06-17T06:47:31.7541252Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-17T06:47:31.7541525Z               "line": 161
2026-06-17T06:47:31.7541778Z             },
2026-06-17T06:47:31.7542020Z             {
2026-06-17T06:47:31.7542376Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-17T06:47:31.7542645Z               "line": 178
2026-06-17T06:47:31.7542898Z             }
2026-06-17T06:47:31.7543147Z           ]
2026-06-17T06:47:31.7543405Z         }
2026-06-17T06:47:31.7543657Z       }
2026-06-17T06:47:31.7543919Z     },
2026-06-17T06:47:31.7544167Z     {
2026-06-17T06:47:31.7544438Z       "id": "REQ-EP-2",
2026-06-17T06:47:31.7544926Z       "title": "Agent endpoints vs Shells distinction in the type model",
2026-06-17T06:47:31.7545200Z       "requiredStages": [
2026-06-17T06:47:31.7545458Z         "impl",
2026-06-17T06:47:31.7545711Z         "unit"
2026-06-17T06:47:31.7545955Z       ],
2026-06-17T06:47:31.7546217Z       "stages": {
2026-06-17T06:47:31.7546474Z         "doc": {
2026-06-17T06:47:31.7546755Z           "complete": false,
2026-06-17T06:47:31.7547022Z           "evidence": []
2026-06-17T06:47:31.7547271Z         },
2026-06-17T06:47:31.7547531Z         "impl": {
2026-06-17T06:47:31.7547786Z           "complete": true,
2026-06-17T06:47:31.7548053Z           "evidence": [
2026-06-17T06:47:31.7548297Z             {
2026-06-17T06:47:31.7548659Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-17T06:47:31.7548931Z               "line": 114
2026-06-17T06:47:31.7549269Z             },
2026-06-17T06:47:31.7549637Z             {
2026-06-17T06:47:31.7549999Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-17T06:47:31.7550274Z               "line": 131
2026-06-17T06:47:31.7550531Z             },
2026-06-17T06:47:31.7550793Z             {
2026-06-17T06:47:31.7551140Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-17T06:47:31.7551408Z               "line": 138
2026-06-17T06:47:31.7551669Z             }
2026-06-17T06:47:31.7551917Z           ]
2026-06-17T06:47:31.7552280Z         },
2026-06-17T06:47:31.7552537Z         "int": {
2026-06-17T06:47:31.7552822Z           "complete": false,
2026-06-17T06:47:31.7553083Z           "evidence": []
2026-06-17T06:47:31.7556958Z         },
2026-06-17T06:47:31.7557253Z         "unit": {
2026-06-17T06:47:31.7557549Z           "complete": true,
2026-06-17T06:47:31.7557845Z           "evidence": [
2026-06-17T06:47:31.7558106Z             {
2026-06-17T06:47:31.7558471Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-17T06:47:31.7558752Z               "line": 190
2026-06-17T06:47:31.7559081Z             },
2026-06-17T06:47:31.7559324Z             {
2026-06-17T06:47:31.7559697Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-17T06:47:31.7559958Z               "line": 208
2026-06-17T06:47:31.7560207Z             },
2026-06-17T06:47:31.7560449Z             {
2026-06-17T06:47:31.7560807Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-17T06:47:31.7561067Z               "line": 221
2026-06-17T06:47:31.7561323Z             }
2026-06-17T06:47:31.7561571Z           ]
2026-06-17T06:47:31.7561819Z         }
2026-06-17T06:47:31.7562058Z       }
2026-06-17T06:47:31.7562306Z     },
2026-06-17T06:47:31.7562544Z     {
2026-06-17T06:47:31.7562811Z       "id": "REQ-EP-3",
2026-06-17T06:47:31.7563378Z       "title": "Messaging payloads carry typed operation commands + file blobs",
2026-06-17T06:47:31.7563662Z       "requiredStages": [
2026-06-17T06:47:31.7563900Z         "impl",
2026-06-17T06:47:31.7564152Z         "unit"
2026-06-17T06:47:31.7564405Z       ],
2026-06-17T06:47:31.7564658Z       "stages": {
2026-06-17T06:47:31.7564910Z         "doc": {
2026-06-17T06:47:31.7565188Z           "complete": false,
2026-06-17T06:47:31.7565450Z           "evidence": []
2026-06-17T06:47:31.7565697Z         },
2026-06-17T06:47:31.7565935Z         "impl": {
2026-06-17T06:47:31.7566203Z           "complete": true,
2026-06-17T06:47:31.7566460Z           "evidence": [
2026-06-17T06:47:31.7566717Z             {
2026-06-17T06:47:31.7567085Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-17T06:47:31.7567346Z               "line": 31
2026-06-17T06:47:31.7567598Z             },
2026-06-17T06:47:31.7567837Z             {
2026-06-17T06:47:31.7568190Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-17T06:47:31.7568452Z               "line": 49
2026-06-17T06:47:31.7568695Z             }
2026-06-17T06:47:31.7569021Z           ]
2026-06-17T06:47:31.7569278Z         },
2026-06-17T06:47:31.7569535Z         "int": {
2026-06-17T06:47:31.7569798Z           "complete": false,
2026-06-17T06:47:31.7570070Z           "evidence": []
2026-06-17T06:47:31.7570299Z         },
2026-06-17T06:47:31.7570552Z         "unit": {
2026-06-17T06:47:31.7570833Z           "complete": true,
2026-06-17T06:47:31.7571091Z           "evidence": [
2026-06-17T06:47:31.7571348Z             {
2026-06-17T06:47:31.7571712Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-17T06:47:31.7571980Z               "line": 156
2026-06-17T06:47:31.7572223Z             },
2026-06-17T06:47:31.7572470Z             {
2026-06-17T06:47:31.7572833Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-17T06:47:31.7573095Z               "line": 164
2026-06-17T06:47:31.7573338Z             },
2026-06-17T06:47:31.7573586Z             {
2026-06-17T06:47:31.7573942Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-17T06:47:31.7574213Z               "line": 177
2026-06-17T06:47:31.7574465Z             },
2026-06-17T06:47:31.7574861Z             {
2026-06-17T06:47:31.7575214Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-17T06:47:31.7575475Z               "line": 200
2026-06-17T06:47:31.7575720Z             },
2026-06-17T06:47:31.7575966Z             {
2026-06-17T06:47:31.7576330Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-17T06:47:31.7576596Z               "line": 216
2026-06-17T06:47:31.7576848Z             },
2026-06-17T06:47:31.7577097Z             {
2026-06-17T06:47:31.7577567Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-17T06:47:31.7577834Z               "line": 233
2026-06-17T06:47:31.7578088Z             }
2026-06-17T06:47:31.7578331Z           ]
2026-06-17T06:47:31.7578580Z         }
2026-06-17T06:47:31.7578822Z       }
2026-06-17T06:47:31.7579163Z     },
2026-06-17T06:47:31.7579400Z     {
2026-06-17T06:47:31.7579677Z       "id": "REQ-EP-4",
2026-06-17T06:47:31.7580124Z       "title": "PresenceChannel broker endpoint (seam day-one)",
2026-06-17T06:47:31.7580396Z       "requiredStages": [
2026-06-17T06:47:31.7580649Z         "impl",
2026-06-17T06:47:31.7580907Z         "unit"
2026-06-17T06:47:31.7581151Z       ],
2026-06-17T06:47:31.7581413Z       "stages": {
2026-06-17T06:47:31.7581660Z         "doc": {
2026-06-17T06:47:31.7581946Z           "complete": false,
2026-06-17T06:47:31.7582206Z           "evidence": []
2026-06-17T06:47:31.7582458Z         },
2026-06-17T06:47:31.7582710Z         "impl": {
2026-06-17T06:47:31.7582977Z           "complete": true,
2026-06-17T06:47:31.7583235Z           "evidence": [
2026-06-17T06:47:31.7583502Z             {
2026-06-17T06:47:31.7583859Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-17T06:47:31.7584122Z               "line": 717
2026-06-17T06:47:31.7584376Z             },
2026-06-17T06:47:31.7584626Z             {
2026-06-17T06:47:31.7584958Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-17T06:47:31.7585220Z               "line": 1048
2026-06-17T06:47:31.7585464Z             },
2026-06-17T06:47:31.7585716Z             {
2026-06-17T06:47:31.7586078Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-17T06:47:31.7586346Z               "line": 1359
2026-06-17T06:47:31.7586604Z             },
2026-06-17T06:47:31.7586851Z             {
2026-06-17T06:47:31.7587191Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-17T06:47:31.7587455Z               "line": 118
2026-06-17T06:47:31.7587694Z             },
2026-06-17T06:47:31.7587942Z             {
2026-06-17T06:47:31.7588285Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-17T06:47:31.7588553Z               "line": 609
2026-06-17T06:47:31.7588801Z             },
2026-06-17T06:47:31.7589130Z             {
2026-06-17T06:47:31.7589464Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-17T06:47:31.7589723Z               "line": 734
2026-06-17T06:47:31.7589979Z             },
2026-06-17T06:47:31.7590218Z             {
2026-06-17T06:47:31.7590566Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-17T06:47:31.7590828Z               "line": 271
2026-06-17T06:47:31.7591077Z             },
2026-06-17T06:47:31.7591328Z             {
2026-06-17T06:47:31.7591687Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-17T06:47:31.7591948Z               "line": 458
2026-06-17T06:47:31.7592192Z             },
2026-06-17T06:47:31.7592440Z             {
2026-06-17T06:47:31.7592799Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-17T06:47:31.7593057Z               "line": 1246
2026-06-17T06:47:31.7593305Z             }
2026-06-17T06:47:31.7593551Z           ]
2026-06-17T06:47:31.7593800Z         },
2026-06-17T06:47:31.7594043Z         "int": {
2026-06-17T06:47:31.7594325Z           "complete": false,
2026-06-17T06:47:31.7594588Z           "evidence": []
2026-06-17T06:47:31.7594840Z         },
2026-06-17T06:47:31.7595096Z         "unit": {
2026-06-17T06:47:31.7595375Z           "complete": true,
2026-06-17T06:47:31.7595643Z           "evidence": [
2026-06-17T06:47:31.7596005Z             {
2026-06-17T06:47:31.7596357Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-17T06:47:31.7596620Z               "line": 825
2026-06-17T06:47:31.7596868Z             },
2026-06-17T06:47:31.7597111Z             {
2026-06-17T06:47:31.7597488Z               "path": "crates/spt-daemon/tests/presence.rs",
2026-06-17T06:47:31.7597756Z               "line": 76
2026-06-17T06:47:31.7598006Z             },
2026-06-17T06:47:31.7598254Z             {
2026-06-17T06:47:31.7598741Z               "path": "crates/spt-daemon/tests/presence.rs",
2026-06-17T06:47:31.7599094Z               "line": 147
2026-06-17T06:47:31.7599341Z             }
2026-06-17T06:47:31.7599598Z           ]
2026-06-17T06:47:31.7599851Z         }
2026-06-17T06:47:31.7600091Z       }
2026-06-17T06:47:31.7600337Z     },
2026-06-17T06:47:31.7600577Z     {
2026-06-17T06:47:31.7600854Z       "id": "REQ-EP-5",
2026-06-17T06:47:31.7602882Z       "title": "Concrete shell instantiation model: spawn-mints-instance (vs relink/online), registered-on-node permission + broadcast-is-discovery, per-shell require_approval gate, max_instances_per_owner + over_cap, instance aliasing, discovery scope",
2026-06-17T06:47:31.7603160Z       "requiredStages": [
2026-06-17T06:47:31.7603425Z         "impl",
2026-06-17T06:47:31.7603678Z         "unit",
2026-06-17T06:47:31.7603927Z         "int"
2026-06-17T06:47:31.7604165Z       ],
2026-06-17T06:47:31.7604422Z       "stages": {
2026-06-17T06:47:31.7604679Z         "doc": {
2026-06-17T06:47:31.7604956Z           "complete": false,
2026-06-17T06:47:31.7605219Z           "evidence": []
2026-06-17T06:47:31.7605463Z         },
2026-06-17T06:47:31.7605708Z         "impl": {
2026-06-17T06:47:31.7605969Z           "complete": true,
2026-06-17T06:47:31.7606241Z           "evidence": [
2026-06-17T06:47:31.7606484Z             {
2026-06-17T06:47:31.7606870Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T06:47:31.7607142Z               "line": 367
2026-06-17T06:47:31.7607391Z             },
2026-06-17T06:47:31.7607647Z             {
2026-06-17T06:47:31.7608011Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-17T06:47:31.7608272Z               "line": 18
2026-06-17T06:47:31.7608528Z             },
2026-06-17T06:47:31.7608772Z             {
2026-06-17T06:47:31.7609190Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-17T06:47:31.7609449Z               "line": 63
2026-06-17T06:47:31.7609702Z             },
2026-06-17T06:47:31.7609950Z             {
2026-06-17T06:47:31.7610326Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-17T06:47:31.7610589Z               "line": 92
2026-06-17T06:47:31.7610834Z             },
2026-06-17T06:47:31.7611080Z             {
2026-06-17T06:47:31.7611438Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-17T06:47:31.7611705Z               "line": 167
2026-06-17T06:47:31.7611948Z             },
2026-06-17T06:47:31.7612192Z             {
2026-06-17T06:47:31.7612564Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-17T06:47:31.7612817Z               "line": 179
2026-06-17T06:47:31.7613059Z             },
2026-06-17T06:47:31.7613302Z             {
2026-06-17T06:47:31.7613664Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T06:47:31.7613933Z               "line": 114
2026-06-17T06:47:31.7614182Z             },
2026-06-17T06:47:31.7614440Z             {
2026-06-17T06:47:31.7614788Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-17T06:47:31.7615064Z               "line": 22
2026-06-17T06:47:31.7615316Z             },
2026-06-17T06:47:31.7615559Z             {
2026-06-17T06:47:31.7615898Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-17T06:47:31.7616164Z               "line": 145
2026-06-17T06:47:31.7616420Z             },
2026-06-17T06:47:31.7616672Z             {
2026-06-17T06:47:31.7617025Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-17T06:47:31.7617292Z               "line": 174
2026-06-17T06:47:31.7617659Z             },
2026-06-17T06:47:31.7617916Z             {
2026-06-17T06:47:31.7618280Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-17T06:47:31.7618556Z               "line": 196
2026-06-17T06:47:31.7618799Z             },
2026-06-17T06:47:31.7619135Z             {
2026-06-17T06:47:31.7619489Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-17T06:47:31.7619751Z               "line": 221
2026-06-17T06:47:31.7619995Z             },
2026-06-17T06:47:31.7620343Z             {
2026-06-17T06:47:31.7620709Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-17T06:47:31.7620971Z               "line": 247
2026-06-17T06:47:31.7621230Z             },
2026-06-17T06:47:31.7621476Z             {
2026-06-17T06:47:31.7621837Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-17T06:47:31.7622108Z               "line": 270
2026-06-17T06:47:31.7622355Z             },
2026-06-17T06:47:31.7622608Z             {
2026-06-17T06:47:31.7622956Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T06:47:31.7623233Z               "line": 100
2026-06-17T06:47:31.7623477Z             },
2026-06-17T06:47:31.7623726Z             {
2026-06-17T06:47:31.7624040Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.7624300Z               "line": 5740
2026-06-17T06:47:31.7624555Z             },
2026-06-17T06:47:31.7624804Z             {
2026-06-17T06:47:31.7625114Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.7625385Z               "line": 5874
2026-06-17T06:47:31.7625643Z             },
2026-06-17T06:47:31.7625905Z             {
2026-06-17T06:47:31.7626210Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.7626482Z               "line": 6040
2026-06-17T06:47:31.7626739Z             },
2026-06-17T06:47:31.7626985Z             {
2026-06-17T06:47:31.7627294Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.7627562Z               "line": 6568
2026-06-17T06:47:31.7627818Z             }
2026-06-17T06:47:31.7628075Z           ]
2026-06-17T06:47:31.7628333Z         },
2026-06-17T06:47:31.7628586Z         "int": {
2026-06-17T06:47:31.7628859Z           "complete": true,
2026-06-17T06:47:31.7629179Z           "evidence": [
2026-06-17T06:47:31.7629440Z             {
2026-06-17T06:47:31.7629820Z               "path": "crates/spt/tests/notify_shell_e2e.rs",
2026-06-17T06:47:31.7630082Z               "line": 16
2026-06-17T06:47:31.7630334Z             },
2026-06-17T06:47:31.7630588Z             {
2026-06-17T06:47:31.7630935Z               "path": "crates/spt/tests/shell_e2e.rs",
2026-06-17T06:47:31.7631203Z               "line": 15
2026-06-17T06:47:31.7631456Z             }
2026-06-17T06:47:31.7631710Z           ]
2026-06-17T06:47:31.7631950Z         },
2026-06-17T06:47:31.7632215Z         "unit": {
2026-06-17T06:47:31.7632477Z           "complete": true,
2026-06-17T06:47:31.7632750Z           "evidence": [
2026-06-17T06:47:31.7632993Z             {
2026-06-17T06:47:31.7633374Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-17T06:47:31.7633637Z               "line": 246
2026-06-17T06:47:31.7633884Z             },
2026-06-17T06:47:31.7634142Z             {
2026-06-17T06:47:31.7634509Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-17T06:47:31.7634774Z               "line": 306
2026-06-17T06:47:31.7635035Z             },
2026-06-17T06:47:31.7635274Z             {
2026-06-17T06:47:31.7635635Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-17T06:47:31.7635903Z               "line": 363
2026-06-17T06:47:31.7636160Z             },
2026-06-17T06:47:31.7636407Z             {
2026-06-17T06:47:31.7636765Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-17T06:47:31.7637037Z               "line": 286
2026-06-17T06:47:31.7637275Z             },
2026-06-17T06:47:31.7637523Z             {
2026-06-17T06:47:31.7637884Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-17T06:47:31.7638150Z               "line": 338
2026-06-17T06:47:31.7638517Z             },
2026-06-17T06:47:31.7638770Z             {
2026-06-17T06:47:31.7639199Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T06:47:31.7639470Z               "line": 779
2026-06-17T06:47:31.7639720Z             },
2026-06-17T06:47:31.7639967Z             {
2026-06-17T06:47:31.7640279Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.7640537Z               "line": 7975
2026-06-17T06:47:31.7640795Z             },
2026-06-17T06:47:31.7641143Z             {
2026-06-17T06:47:31.7641448Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.7641706Z               "line": 8128
2026-06-17T06:47:31.7641950Z             },
2026-06-17T06:47:31.7642202Z             {
2026-06-17T06:47:31.7642506Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.7642775Z               "line": 8717
2026-06-17T06:47:31.7643024Z             },
2026-06-17T06:47:31.7643272Z             {
2026-06-17T06:47:31.7643582Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.7643844Z               "line": 8833
2026-06-17T06:47:31.7644095Z             }
2026-06-17T06:47:31.7644339Z           ]
2026-06-17T06:47:31.7644587Z         }
2026-06-17T06:47:31.7644836Z       }
2026-06-17T06:47:31.7645084Z     },
2026-06-17T06:47:31.7645316Z     {
2026-06-17T06:47:31.7645567Z       "id": "REQ-EP-6",
2026-06-17T06:47:31.7649811Z       "title": "Gateway type acceptance: a Gateway-typed perch binds (api bind --type, open type system — un-hardcode the live_agent default), advertises/addressable like any endpoint, owns shells (owner validation not agent-family-gated), subscribes to digests, and is the user-msg identity gate's user-backed origin (REQ-MSG-5); in-tree mock-gateway fixture (R-DOCS-2 pattern, no downstream adapter code). Cross-node WAN Gateway-origin (registry endpoint_type trust) tracked by REQ-MSG-6",
2026-06-17T06:47:31.7650092Z       "requiredStages": [
2026-06-17T06:47:31.7650346Z         "doc",
2026-06-17T06:47:31.7650599Z         "impl",
2026-06-17T06:47:31.7650839Z         "unit"
2026-06-17T06:47:31.7651097Z       ],
2026-06-17T06:47:31.7651351Z       "stages": {
2026-06-17T06:47:31.7651603Z         "doc": {
2026-06-17T06:47:31.7651866Z           "complete": true,
2026-06-17T06:47:31.7652122Z           "evidence": [
2026-06-17T06:47:31.7652375Z             {
2026-06-17T06:47:31.7652656Z               "path": "CONTEXT.md",
2026-06-17T06:47:31.7652915Z               "line": 215
2026-06-17T06:47:31.7653161Z             }
2026-06-17T06:47:31.7653421Z           ]
2026-06-17T06:47:31.7653659Z         },
2026-06-17T06:47:31.7653908Z         "impl": {
2026-06-17T06:47:31.7654189Z           "complete": true,
2026-06-17T06:47:31.7654447Z           "evidence": [
2026-06-17T06:47:31.7654704Z             {
2026-06-17T06:47:31.7655053Z               "path": "crates/spt/src/api/startup.rs",
2026-06-17T06:47:31.7655314Z               "line": 166
2026-06-17T06:47:31.7655567Z             }
2026-06-17T06:47:31.7655805Z           ]
2026-06-17T06:47:31.7656061Z         },
2026-06-17T06:47:31.7656302Z         "int": {
2026-06-17T06:47:31.7656578Z           "complete": true,
2026-06-17T06:47:31.7656841Z           "evidence": [
2026-06-17T06:47:31.7657090Z             {
2026-06-17T06:47:31.7657447Z               "path": "crates/spt/tests/gateway_e2e.rs",
2026-06-17T06:47:31.7657705Z               "line": 18
2026-06-17T06:47:31.7657958Z             }
2026-06-17T06:47:31.7658191Z           ]
2026-06-17T06:47:31.7658447Z         },
2026-06-17T06:47:31.7658703Z         "unit": {
2026-06-17T06:47:31.7659046Z           "complete": true,
2026-06-17T06:47:31.7659308Z           "evidence": [
2026-06-17T06:47:31.7659566Z             {
2026-06-17T06:47:31.7659952Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-17T06:47:31.7660234Z               "line": 552
2026-06-17T06:47:31.7660510Z             },
2026-06-17T06:47:31.7660777Z             {
2026-06-17T06:47:31.7661140Z               "path": "crates/spt/src/api/startup.rs",
2026-06-17T06:47:31.7661429Z               "line": 627
2026-06-17T06:47:31.7661835Z             }
2026-06-17T06:47:31.7662112Z           ]
2026-06-17T06:47:31.7662383Z         }
2026-06-17T06:47:31.7662659Z       }
2026-06-17T06:47:31.7662926Z     },
2026-06-17T06:47:31.7663197Z     {
2026-06-17T06:47:31.7663484Z       "id": "REQ-EP-7",
2026-06-17T06:47:31.7668160Z       "title": "Durable live-role.md: a per-agent broad-purpose statement in tracked/agents/<id>/ beside live-context.md (replicates with the mind on the same a-<id> branch); renders FIRST at start-transition context injection (role -> live-context -> project-context); SOLE writer `spt endpoint role --overwrite <file>` — mechanical no-automated-writer guarantee (echo-commune ingest / signoff / Psyche reconcile structurally exclude it). The user-backed-origin hard gate on the writer is a deferred later tightening (rides the user-msg identity plumbing)",
2026-06-17T06:47:31.7668571Z       "requiredStages": [
2026-06-17T06:47:31.7668829Z         "doc",
2026-06-17T06:47:31.7669141Z         "impl",
2026-06-17T06:47:31.7669396Z         "unit"
2026-06-17T06:47:31.7669649Z       ],
2026-06-17T06:47:31.7669897Z       "stages": {
2026-06-17T06:47:31.7670164Z         "doc": {
2026-06-17T06:47:31.7670446Z           "complete": true,
2026-06-17T06:47:31.7670702Z           "evidence": [
2026-06-17T06:47:31.7670955Z             {
2026-06-17T06:47:31.7671237Z               "path": "CONTEXT.md",
2026-06-17T06:47:31.7671499Z               "line": 442
2026-06-17T06:47:31.7671743Z             }
2026-06-17T06:47:31.7672003Z           ]
2026-06-17T06:47:31.7672256Z         },
2026-06-17T06:47:31.7672509Z         "impl": {
2026-06-17T06:47:31.7672776Z           "complete": true,
2026-06-17T06:47:31.7673048Z           "evidence": [
2026-06-17T06:47:31.7673287Z             {
2026-06-17T06:47:31.7673625Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-17T06:47:31.7673891Z               "line": 505
2026-06-17T06:47:31.7674176Z             },
2026-06-17T06:47:31.7674441Z             {
2026-06-17T06:47:31.7674808Z               "path": "crates/spt-live/src/resume.rs",
2026-06-17T06:47:31.7675089Z               "line": 87
2026-06-17T06:47:31.7675357Z             },
2026-06-17T06:47:31.7675614Z             {
2026-06-17T06:47:31.7675991Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-17T06:47:31.7676254Z               "line": 81
2026-06-17T06:47:31.7676507Z             },
2026-06-17T06:47:31.7676749Z             {
2026-06-17T06:47:31.7677129Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-17T06:47:31.7677389Z               "line": 166
2026-06-17T06:47:31.7677642Z             },
2026-06-17T06:47:31.7677886Z             {
2026-06-17T06:47:31.7678200Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.7678458Z               "line": 1501
2026-06-17T06:47:31.7678711Z             }
2026-06-17T06:47:31.7679030Z           ]
2026-06-17T06:47:31.7679273Z         },
2026-06-17T06:47:31.7679530Z         "int": {
2026-06-17T06:47:31.7679809Z           "complete": false,
2026-06-17T06:47:31.7680076Z           "evidence": []
2026-06-17T06:47:31.7680318Z         },
2026-06-17T06:47:31.7680570Z         "unit": {
2026-06-17T06:47:31.7680843Z           "complete": true,
2026-06-17T06:47:31.7681101Z           "evidence": [
2026-06-17T06:47:31.7681345Z             {
2026-06-17T06:47:31.7681683Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-17T06:47:31.7681946Z               "line": 623
2026-06-17T06:47:31.7682193Z             },
2026-06-17T06:47:31.7682439Z             {
2026-06-17T06:47:31.7682787Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-17T06:47:31.7683041Z               "line": 212
2026-06-17T06:47:31.7683308Z             },
2026-06-17T06:47:31.7683546Z             {
2026-06-17T06:47:31.7683876Z               "path": "crates/spt-live/src/resume.rs",
2026-06-17T06:47:31.7684142Z               "line": 307
2026-06-17T06:47:31.7684389Z             },
2026-06-17T06:47:31.7684642Z             {
2026-06-17T06:47:31.7684950Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.7685325Z               "line": 7055
2026-06-17T06:47:31.7685569Z             },
2026-06-17T06:47:31.7685818Z             {
2026-06-17T06:47:31.7686132Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.7686399Z               "line": 7082
2026-06-17T06:47:31.7686646Z             }
2026-06-17T06:47:31.7686899Z           ]
2026-06-17T06:47:31.7687152Z         }
2026-06-17T06:47:31.7687401Z       }
2026-06-17T06:47:31.7687646Z     },
2026-06-17T06:47:31.7687998Z     {
2026-06-17T06:47:31.7688273Z       "id": "REQ-FRONT-1",
2026-06-17T06:47:31.7688803Z       "title": "Day-one launcher/manager frontend (list/launch/attach/init)",
2026-06-17T06:47:31.7689142Z       "requiredStages": [],
2026-06-17T06:47:31.7689408Z       "stages": {
2026-06-17T06:47:31.7689663Z         "doc": {
2026-06-17T06:47:31.7689968Z           "complete": false,
2026-06-17T06:47:31.7690261Z           "evidence": []
2026-06-17T06:47:31.7690530Z         },
2026-06-17T06:47:31.7690811Z         "impl": {
2026-06-17T06:47:31.7691112Z           "complete": false,
2026-06-17T06:47:31.7691412Z           "evidence": []
2026-06-17T06:47:31.7691656Z         },
2026-06-17T06:47:31.7691909Z         "int": {
2026-06-17T06:47:31.7692191Z           "complete": false,
2026-06-17T06:47:31.7692453Z           "evidence": []
2026-06-17T06:47:31.7692710Z         },
2026-06-17T06:47:31.7692966Z         "unit": {
2026-06-17T06:47:31.7693249Z           "complete": false,
2026-06-17T06:47:31.7693515Z           "evidence": []
2026-06-17T06:47:31.7693763Z         }
2026-06-17T06:47:31.7694019Z       }
2026-06-17T06:47:31.7694254Z     },
2026-06-17T06:47:31.7694512Z     {
2026-06-17T06:47:31.7694850Z       "id": "REQ-HAZARD-BRAIN-RESPAWN-PATH",
2026-06-17T06:47:31.7701883Z       "title": "The broker respawns the brain onto the APPLIED bytes, not the renamed old binary: the candidate-binary default is the canonical exe path captured ONCE at broker start, never a per-spawn std::env::current_exe() — on Linux current_exe (readlink /proc/self/exe) is inode-tracking and follows the `apply` rename (spt -> spt.old-N), so a resident broker would respawn the brain onto OLD bytes while recording `applied` (Windows GetModuleFileName is path-at-start, so Windows was green; ADR-0018 Q3 silently assumed path-string semantics). Backstop: promotion gates on bytes — a trial promotes only if brain.ready exe_hash == the staged artifact hash for this platform, else auto-rollback + loud notif (readiness != new-bytes was the false-success that recorded applied:8 over a v0.4.0 brain on kitsubito, 2026-06-11). KNOWN-HAZARDS 6.11.",
2026-06-17T06:47:31.7702188Z       "requiredStages": [
2026-06-17T06:47:31.7702442Z         "doc",
2026-06-17T06:47:31.7702688Z         "impl",
2026-06-17T06:47:31.7702941Z         "unit",
2026-06-17T06:47:31.7703188Z         "int"
2026-06-17T06:47:31.7703442Z       ],
2026-06-17T06:47:31.7703698Z       "stages": {
2026-06-17T06:47:31.7703950Z         "doc": {
2026-06-17T06:47:31.7704222Z           "complete": true,
2026-06-17T06:47:31.7704485Z           "evidence": [
2026-06-17T06:47:31.7704767Z             {
2026-06-17T06:47:31.7705110Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-17T06:47:31.7705391Z               "line": 333
2026-06-17T06:47:31.7705664Z             }
2026-06-17T06:47:31.7705943Z           ]
2026-06-17T06:47:31.7706221Z         },
2026-06-17T06:47:31.7706498Z         "impl": {
2026-06-17T06:47:31.7706793Z           "complete": true,
2026-06-17T06:47:31.7707075Z           "evidence": [
2026-06-17T06:47:31.7707352Z             {
2026-06-17T06:47:31.7707738Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T06:47:31.7708024Z               "line": 494
2026-06-17T06:47:31.7708301Z             },
2026-06-17T06:47:31.7708569Z             {
2026-06-17T06:47:31.7708933Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T06:47:31.7709276Z               "line": 499
2026-06-17T06:47:31.7709533Z             },
2026-06-17T06:47:31.7709781Z             {
2026-06-17T06:47:31.7710272Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T06:47:31.7710533Z               "line": 874
2026-06-17T06:47:31.7710788Z             },
2026-06-17T06:47:31.7711041Z             {
2026-06-17T06:47:31.7711415Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T06:47:31.7711689Z               "line": 915
2026-06-17T06:47:31.7711946Z             },
2026-06-17T06:47:31.7712189Z             {
2026-06-17T06:47:31.7712561Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T06:47:31.7712928Z               "line": 926
2026-06-17T06:47:31.7713186Z             },
2026-06-17T06:47:31.7713434Z             {
2026-06-17T06:47:31.7713797Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-17T06:47:31.7714054Z               "line": 358
2026-06-17T06:47:31.7714297Z             }
2026-06-17T06:47:31.7714549Z           ]
2026-06-17T06:47:31.7714797Z         },
2026-06-17T06:47:31.7715055Z         "int": {
2026-06-17T06:47:31.7715331Z           "complete": true,
2026-06-17T06:47:31.7715589Z           "evidence": [
2026-06-17T06:47:31.7715837Z             {
2026-06-17T06:47:31.7716224Z               "path": "crates/spt/tests/brain_respawn_rename.rs",
2026-06-17T06:47:31.7716493Z               "line": 30
2026-06-17T06:47:31.7716738Z             }
2026-06-17T06:47:31.7716987Z           ]
2026-06-17T06:47:31.7717231Z         },
2026-06-17T06:47:31.7717479Z         "unit": {
2026-06-17T06:47:31.7717745Z           "complete": true,
2026-06-17T06:47:31.7718007Z           "evidence": [
2026-06-17T06:47:31.7718265Z             {
2026-06-17T06:47:31.7718627Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T06:47:31.7718889Z               "line": 1467
2026-06-17T06:47:31.7719223Z             },
2026-06-17T06:47:31.7719479Z             {
2026-06-17T06:47:31.7719840Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T06:47:31.7720093Z               "line": 1492
2026-06-17T06:47:31.7720337Z             },
2026-06-17T06:47:31.7720583Z             {
2026-06-17T06:47:31.7720946Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T06:47:31.7721213Z               "line": 1509
2026-06-17T06:47:31.7721455Z             },
2026-06-17T06:47:31.7721715Z             {
2026-06-17T06:47:31.7722064Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T06:47:31.7722321Z               "line": 1552
2026-06-17T06:47:31.7722569Z             }
2026-06-17T06:47:31.7722821Z           ]
2026-06-17T06:47:31.7723060Z         }
2026-06-17T06:47:31.7723313Z       }
2026-06-17T06:47:31.7723571Z     },
2026-06-17T06:47:31.7723813Z     {
2026-06-17T06:47:31.7724167Z       "id": "REQ-HAZARD-BROKER-PROCESS-ISOLATION",
2026-06-17T06:47:31.7731240Z       "title": "Broker and brain are separate processes: the broker runs as its own long-lived per-machine process that survives every brain restart, so a routine (brain-only) self-update restarts the brain onto the swapped binary while every hosted endpoint (PTY child, live QUIC conn, listening socket) stays untouched at the PROCESS level. The in-process-thread broker (daemon.rs:165-170) is a regression that silently unrealizes REQ-UPD-3 — apply degrades to an in-process Brain::handoff no-op and new code does not run until an unrelated restart (KNOWN-HAZARDS 6.7). Evidence must prove process-level survival (SPIKE-01/03 productionized as int: PTY child + live QUIC survive a brain-PROCESS restart onto a swapped binary), re-pointing the regression-masked in-process int tags currently on REQ-DAEMON-2 / REQ-UPD-3 (ADR-0018).",
2026-06-17T06:47:31.7731531Z       "requiredStages": [
2026-06-17T06:47:31.7731787Z         "doc",
2026-06-17T06:47:31.7732045Z         "impl",
2026-06-17T06:47:31.7732289Z         "unit",
2026-06-17T06:47:31.7732544Z         "int"
2026-06-17T06:47:31.7732795Z       ],
2026-06-17T06:47:31.7733057Z       "stages": {
2026-06-17T06:47:31.7733310Z         "doc": {
2026-06-17T06:47:31.7733582Z           "complete": true,
2026-06-17T06:47:31.7733963Z           "evidence": [
2026-06-17T06:47:31.7734206Z             {
2026-06-17T06:47:31.7734521Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-17T06:47:31.7734775Z               "line": 302
2026-06-17T06:47:31.7735033Z             }
2026-06-17T06:47:31.7735278Z           ]
2026-06-17T06:47:31.7735531Z         },
2026-06-17T06:47:31.7735784Z         "impl": {
2026-06-17T06:47:31.7736057Z           "complete": true,
2026-06-17T06:47:31.7736313Z           "evidence": [
2026-06-17T06:47:31.7736667Z             {
2026-06-17T06:47:31.7737048Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-17T06:47:31.7737311Z               "line": 108
2026-06-17T06:47:31.7737575Z             },
2026-06-17T06:47:31.7737831Z             {
2026-06-17T06:47:31.7738183Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-17T06:47:31.7738460Z               "line": 794
2026-06-17T06:47:31.7738704Z             },
2026-06-17T06:47:31.7739037Z             {
2026-06-17T06:47:31.7739376Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-17T06:47:31.7739671Z               "line": 994
2026-06-17T06:47:31.7739915Z             },
2026-06-17T06:47:31.7740163Z             {
2026-06-17T06:47:31.7740529Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T06:47:31.7740779Z               "line": 23
2026-06-17T06:47:31.7741036Z             },
2026-06-17T06:47:31.7741285Z             {
2026-06-17T06:47:31.7741651Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T06:47:31.7741914Z               "line": 113
2026-06-17T06:47:31.7742157Z             },
2026-06-17T06:47:31.7742401Z             {
2026-06-17T06:47:31.7742754Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T06:47:31.7743018Z               "line": 158
2026-06-17T06:47:31.7743269Z             },
2026-06-17T06:47:31.7743523Z             {
2026-06-17T06:47:31.7743894Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T06:47:31.7744152Z               "line": 218
2026-06-17T06:47:31.7744414Z             },
2026-06-17T06:47:31.7744653Z             {
2026-06-17T06:47:31.7745025Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T06:47:31.7745288Z               "line": 261
2026-06-17T06:47:31.7745539Z             },
2026-06-17T06:47:31.7745791Z             {
2026-06-17T06:47:31.7746157Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T06:47:31.7746420Z               "line": 275
2026-06-17T06:47:31.7746673Z             },
2026-06-17T06:47:31.7746936Z             {
2026-06-17T06:47:31.7747298Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T06:47:31.7747556Z               "line": 320
2026-06-17T06:47:31.7747803Z             },
2026-06-17T06:47:31.7748045Z             {
2026-06-17T06:47:31.7748419Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T06:47:31.7748677Z               "line": 347
2026-06-17T06:47:31.7748935Z             },
2026-06-17T06:47:31.7749254Z             {
2026-06-17T06:47:31.7749616Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T06:47:31.7749873Z               "line": 359
2026-06-17T06:47:31.7750128Z             },
2026-06-17T06:47:31.7750385Z             {
2026-06-17T06:47:31.7750753Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T06:47:31.7751027Z               "line": 373
2026-06-17T06:47:31.7751272Z             },
2026-06-17T06:47:31.7751525Z             {
2026-06-17T06:47:31.7751892Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T06:47:31.7752160Z               "line": 400
2026-06-17T06:47:31.7752412Z             },
2026-06-17T06:47:31.7752661Z             {
2026-06-17T06:47:31.7753023Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T06:47:31.7753295Z               "line": 643
2026-06-17T06:47:31.7753540Z             },
2026-06-17T06:47:31.7753796Z             {
2026-06-17T06:47:31.7754153Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T06:47:31.7754554Z               "line": 972
2026-06-17T06:47:31.7754811Z             },
2026-06-17T06:47:31.7755070Z             {
2026-06-17T06:47:31.7755427Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-17T06:47:31.7755689Z               "line": 178
2026-06-17T06:47:31.7755947Z             },
2026-06-17T06:47:31.7756200Z             {
2026-06-17T06:47:31.7756566Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-17T06:47:31.7756828Z               "line": 590
2026-06-17T06:47:31.7757186Z             },
2026-06-17T06:47:31.7757438Z             {
2026-06-17T06:47:31.7757796Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-17T06:47:31.7758058Z               "line": 662
2026-06-17T06:47:31.7758310Z             },
2026-06-17T06:47:31.7758572Z             {
2026-06-17T06:47:31.7758922Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-17T06:47:31.7759256Z               "line": 674
2026-06-17T06:47:31.7759519Z             },
2026-06-17T06:47:31.7759758Z             {
2026-06-17T06:47:31.7760114Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-17T06:47:31.7760378Z               "line": 1084
2026-06-17T06:47:31.7760625Z             },
2026-06-17T06:47:31.7760877Z             {
2026-06-17T06:47:31.7761211Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-17T06:47:31.7761487Z               "line": 183
2026-06-17T06:47:31.7764829Z             },
2026-06-17T06:47:31.7765119Z             {
2026-06-17T06:47:31.7765483Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-17T06:47:31.7765768Z               "line": 260
2026-06-17T06:47:31.7766025Z             },
2026-06-17T06:47:31.7766273Z             {
2026-06-17T06:47:31.7766664Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-17T06:47:31.7766930Z               "line": 271
2026-06-17T06:47:31.7767179Z             },
2026-06-17T06:47:31.7767417Z             {
2026-06-17T06:47:31.7767775Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-17T06:47:31.7768046Z               "line": 297
2026-06-17T06:47:31.7768313Z             },
2026-06-17T06:47:31.7768570Z             {
2026-06-17T06:47:31.7769020Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-17T06:47:31.7769299Z               "line": 56
2026-06-17T06:47:31.7769732Z             },
2026-06-17T06:47:31.7770003Z             {
2026-06-17T06:47:31.7770355Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-17T06:47:31.7770618Z               "line": 188
2026-06-17T06:47:31.7770875Z             },
2026-06-17T06:47:31.7771122Z             {
2026-06-17T06:47:31.7771476Z               "path": "crates/spt-daemon/src/endpoint.rs",
2026-06-17T06:47:31.7771733Z               "line": 82
2026-06-17T06:47:31.7771981Z             },
2026-06-17T06:47:31.7772242Z             {
2026-06-17T06:47:31.7772603Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-17T06:47:31.7772870Z               "line": 283
2026-06-17T06:47:31.7773118Z             },
2026-06-17T06:47:31.7773370Z             {
2026-06-17T06:47:31.7773713Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-17T06:47:31.7773970Z               "line": 424
2026-06-17T06:47:31.7774228Z             },
2026-06-17T06:47:31.7774482Z             {
2026-06-17T06:47:31.7774799Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.7775074Z               "line": 1812
2026-06-17T06:47:31.7775331Z             }
2026-06-17T06:47:31.7775574Z           ]
2026-06-17T06:47:31.7775889Z         },
2026-06-17T06:47:31.7776208Z         "int": {
2026-06-17T06:47:31.7776476Z           "complete": true,
2026-06-17T06:47:31.7776743Z           "evidence": [
2026-06-17T06:47:31.7776987Z             {
2026-06-17T06:47:31.7777354Z               "path": "crates/spt/tests/brain_survive.rs",
2026-06-17T06:47:31.7777609Z               "line": 57
2026-06-17T06:47:31.7777857Z             },
2026-06-17T06:47:31.7778115Z             {
2026-06-17T06:47:31.7778453Z               "path": "crates/spt/tests/n1_pairing.rs",
2026-06-17T06:47:31.7778883Z               "line": 41
2026-06-17T06:47:31.7779279Z             }
2026-06-17T06:47:31.7779575Z           ]
2026-06-17T06:47:31.7779825Z         },
2026-06-17T06:47:31.7780066Z         "unit": {
2026-06-17T06:47:31.7780339Z           "complete": true,
2026-06-17T06:47:31.7780596Z           "evidence": [
2026-06-17T06:47:31.7780844Z             {
2026-06-17T06:47:31.7781216Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-17T06:47:31.7781460Z               "line": 532
2026-06-17T06:47:31.7781803Z             },
2026-06-17T06:47:31.7782060Z             {
2026-06-17T06:47:31.7782437Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-17T06:47:31.7782692Z               "line": 755
2026-06-17T06:47:31.7782947Z             },
2026-06-17T06:47:31.7783197Z             {
2026-06-17T06:47:31.7783549Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T06:47:31.7783806Z               "line": 1041
2026-06-17T06:47:31.7784050Z             },
2026-06-17T06:47:31.7784302Z             {
2026-06-17T06:47:31.7784665Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T06:47:31.7784932Z               "line": 1075
2026-06-17T06:47:31.7785183Z             },
2026-06-17T06:47:31.7785425Z             {
2026-06-17T06:47:31.7785791Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T06:47:31.7786049Z               "line": 1117
2026-06-17T06:47:31.7786298Z             },
2026-06-17T06:47:31.7786550Z             {
2026-06-17T06:47:31.7786918Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T06:47:31.7787174Z               "line": 1189
2026-06-17T06:47:31.7787412Z             },
2026-06-17T06:47:31.7787660Z             {
2026-06-17T06:47:31.7788012Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T06:47:31.7788275Z               "line": 1202
2026-06-17T06:47:31.7788528Z             },
2026-06-17T06:47:31.7788775Z             {
2026-06-17T06:47:31.7789228Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T06:47:31.7789524Z               "line": 1225
2026-06-17T06:47:31.7789773Z             },
2026-06-17T06:47:31.7790019Z             {
2026-06-17T06:47:31.7790385Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T06:47:31.7790650Z               "line": 1251
2026-06-17T06:47:31.7790889Z             },
2026-06-17T06:47:31.7791133Z             {
2026-06-17T06:47:31.7791495Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T06:47:31.7791767Z               "line": 1265
2026-06-17T06:47:31.7792015Z             },
2026-06-17T06:47:31.7792262Z             {
2026-06-17T06:47:31.7792611Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T06:47:31.7792868Z               "line": 1289
2026-06-17T06:47:31.7793120Z             },
2026-06-17T06:47:31.7793353Z             {
2026-06-17T06:47:31.7793718Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T06:47:31.7793981Z               "line": 1421
2026-06-17T06:47:31.7794233Z             },
2026-06-17T06:47:31.7794475Z             {
2026-06-17T06:47:31.7794834Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T06:47:31.7795091Z               "line": 1597
2026-06-17T06:47:31.7795344Z             },
2026-06-17T06:47:31.7795593Z             {
2026-06-17T06:47:31.7795943Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T06:47:31.7796213Z               "line": 1652
2026-06-17T06:47:31.7796461Z             },
2026-06-17T06:47:31.7796718Z             {
2026-06-17T06:47:31.7797110Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T06:47:31.7797400Z               "line": 1698
2026-06-17T06:47:31.7797667Z             },
2026-06-17T06:47:31.7797910Z             {
2026-06-17T06:47:31.7798273Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T06:47:31.7798544Z               "line": 1743
2026-06-17T06:47:31.7798783Z             },
2026-06-17T06:47:31.7799098Z             {
2026-06-17T06:47:31.7799583Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T06:47:31.7799850Z               "line": 1787
2026-06-17T06:47:31.7800094Z             },
2026-06-17T06:47:31.7800343Z             {
2026-06-17T06:47:31.7800709Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T06:47:31.7800969Z               "line": 1829
2026-06-17T06:47:31.7801234Z             },
2026-06-17T06:47:31.7801468Z             {
2026-06-17T06:47:31.7801816Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-17T06:47:31.7802178Z               "line": 1418
2026-06-17T06:47:31.7802441Z             },
2026-06-17T06:47:31.7802698Z             {
2026-06-17T06:47:31.7803080Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-17T06:47:31.7803366Z               "line": 217
2026-06-17T06:47:31.7803685Z             },
2026-06-17T06:47:31.7803927Z             {
2026-06-17T06:47:31.7804293Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-17T06:47:31.7804565Z               "line": 233
2026-06-17T06:47:31.7804875Z             },
2026-06-17T06:47:31.7805132Z             {
2026-06-17T06:47:31.7805495Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-17T06:47:31.7805747Z               "line": 254
2026-06-17T06:47:31.7806004Z             },
2026-06-17T06:47:31.7806265Z             {
2026-06-17T06:47:31.7806634Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-17T06:47:31.7806902Z               "line": 265
2026-06-17T06:47:31.7807169Z             },
2026-06-17T06:47:31.7807418Z             {
2026-06-17T06:47:31.7807780Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-17T06:47:31.7808047Z               "line": 278
2026-06-17T06:47:31.7808299Z             },
2026-06-17T06:47:31.7808551Z             {
2026-06-17T06:47:31.7808910Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-17T06:47:31.7809246Z               "line": 289
2026-06-17T06:47:31.7809533Z             },
2026-06-17T06:47:31.7809785Z             {
2026-06-17T06:47:31.7810138Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-17T06:47:31.7810401Z               "line": 301
2026-06-17T06:47:31.7810649Z             },
2026-06-17T06:47:31.7810893Z             {
2026-06-17T06:47:31.7811256Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-17T06:47:31.7811506Z               "line": 312
2026-06-17T06:47:31.7811761Z             },
2026-06-17T06:47:31.7812014Z             {
2026-06-17T06:47:31.7812371Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-17T06:47:31.7812643Z               "line": 323
2026-06-17T06:47:31.7812891Z             },
2026-06-17T06:47:31.7813145Z             {
2026-06-17T06:47:31.7813512Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-17T06:47:31.7813784Z               "line": 332
2026-06-17T06:47:31.7814041Z             },
2026-06-17T06:47:31.7814292Z             {
2026-06-17T06:47:31.7814656Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-17T06:47:31.7814915Z               "line": 342
2026-06-17T06:47:31.7815163Z             },
2026-06-17T06:47:31.7815401Z             {
2026-06-17T06:47:31.7815754Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-17T06:47:31.7816017Z               "line": 358
2026-06-17T06:47:31.7816268Z             },
2026-06-17T06:47:31.7816516Z             {
2026-06-17T06:47:31.7816887Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-17T06:47:31.7817157Z               "line": 733
2026-06-17T06:47:31.7817416Z             },
2026-06-17T06:47:31.7817673Z             {
2026-06-17T06:47:31.7818039Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-17T06:47:31.7818297Z               "line": 769
2026-06-17T06:47:31.7818559Z             },
2026-06-17T06:47:31.7818797Z             {
2026-06-17T06:47:31.7819223Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-17T06:47:31.7819484Z               "line": 966
2026-06-17T06:47:31.7819735Z             },
2026-06-17T06:47:31.7820102Z             {
2026-06-17T06:47:31.7820460Z               "path": "crates/spt-daemon/tests/resume.rs",
2026-06-17T06:47:31.7820741Z               "line": 143
2026-06-17T06:47:31.7820990Z             },
2026-06-17T06:47:31.7821242Z             {
2026-06-17T06:47:31.7821599Z               "path": "crates/spt-daemon/tests/resume.rs",
2026-06-17T06:47:31.7821867Z               "line": 222
2026-06-17T06:47:31.7822119Z             },
2026-06-17T06:47:31.7822368Z             {
2026-06-17T06:47:31.7822926Z               "path": "crates/spt-daemon/tests/resume.rs",
2026-06-17T06:47:31.7823194Z               "line": 291
2026-06-17T06:47:31.7823451Z             },
2026-06-17T06:47:31.7823690Z             {
2026-06-17T06:47:31.7824049Z               "path": "crates/spt/tests/brain_split.rs",
2026-06-17T06:47:31.7824315Z               "line": 17
2026-06-17T06:47:31.7824567Z             },
2026-06-17T06:47:31.7824815Z             {
2026-06-17T06:47:31.7825160Z               "path": "crates/spt/tests/brain_split.rs",
2026-06-17T06:47:31.7825451Z               "line": 104
2026-06-17T06:47:31.7825699Z             }
2026-06-17T06:47:31.7825957Z           ]
2026-06-17T06:47:31.7826219Z         }
2026-06-17T06:47:31.7826466Z       }
2026-06-17T06:47:31.7826714Z     },
2026-06-17T06:47:31.7826949Z     {
2026-06-17T06:47:31.7827287Z       "id": "REQ-HAZARD-BROKER-QUIC-DEADLINE",
2026-06-17T06:47:31.7836073Z       "title": "The broker bounds every brain-waiting QUIC op (dial / open_stream / send_stream) so a black-holed or dead peer fails PROMPTLY with an ORDINARY error the broker REPLIES, never an unbounded await. The bound (< the brain's 30s PUMP_PEER_IO_TIMEOUT so the BROKER fires first) surfaces to the pump as a normal broker error reply → peer_outcome's non-TimedOut arm → drop conn + redial next tick, the round CONTINUES and the heartbeat keeps advancing — it must NEVER manifest as the brain's own read-deadline (the A-half poison → supervised-restart path REQ-HAZARD-PUMP-IPC-DEADLINE guards). Exactly-once is preserved: a timed-out journaled op fails INSIDE its apply_once closure so no phantom conn_id/stream_id is recorded and a fresh tick re-dials cleanly. The happy path is unchanged (a live peer completes with zero added latency; the bound only bites a non-responsive peer). This is the ROOT-cause cure for the 2.2h hfenduleam pump wedge — a dead roster peer whose QUIC path the broker awaited unbounded — recurring on hfenduleam 2026-06-16.",
2026-06-17T06:47:31.7836397Z       "requiredStages": [
2026-06-17T06:47:31.7836655Z         "doc",
2026-06-17T06:47:31.7836912Z         "impl",
2026-06-17T06:47:31.7837166Z         "unit",
2026-06-17T06:47:31.7837418Z         "int"
2026-06-17T06:47:31.7837661Z       ],
2026-06-17T06:47:31.7837918Z       "stages": {
2026-06-17T06:47:31.7838174Z         "doc": {
2026-06-17T06:47:31.7838449Z           "complete": true,
2026-06-17T06:47:31.7838716Z           "evidence": [
2026-06-17T06:47:31.7839035Z             {
2026-06-17T06:47:31.7839365Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-17T06:47:31.7839631Z               "line": 388
2026-06-17T06:47:31.7839884Z             }
2026-06-17T06:47:31.7840137Z           ]
2026-06-17T06:47:31.7840381Z         },
2026-06-17T06:47:31.7840643Z         "impl": {
2026-06-17T06:47:31.7840913Z           "complete": true,
2026-06-17T06:47:31.7841175Z           "evidence": [
2026-06-17T06:47:31.7841414Z             {
2026-06-17T06:47:31.7841772Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-17T06:47:31.7842039Z               "line": 773
2026-06-17T06:47:31.7842292Z             },
2026-06-17T06:47:31.7842544Z             {
2026-06-17T06:47:31.7842898Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-17T06:47:31.7843171Z               "line": 796
2026-06-17T06:47:31.7843422Z             }
2026-06-17T06:47:31.7843680Z           ]
2026-06-17T06:47:31.7843933Z         },
2026-06-17T06:47:31.7844186Z         "int": {
2026-06-17T06:47:31.7844452Z           "complete": true,
2026-06-17T06:47:31.7844709Z           "evidence": [
2026-06-17T06:47:31.7845096Z             {
2026-06-17T06:47:31.7845474Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-17T06:47:31.7845736Z               "line": 228
2026-06-17T06:47:31.7845992Z             },
2026-06-17T06:47:31.7846242Z             {
2026-06-17T06:47:31.7846609Z               "path": "crates/spt-daemon/tests/pump.rs",
2026-06-17T06:47:31.7846877Z               "line": 468
2026-06-17T06:47:31.7847138Z             }
2026-06-17T06:47:31.7847382Z           ]
2026-06-17T06:47:31.7847736Z         },
2026-06-17T06:47:31.7847993Z         "unit": {
2026-06-17T06:47:31.7848259Z           "complete": true,
2026-06-17T06:47:31.7848535Z           "evidence": [
2026-06-17T06:47:31.7848785Z             {
2026-06-17T06:47:31.7849218Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-17T06:47:31.7849505Z               "line": 1495
2026-06-17T06:47:31.7849753Z             }
2026-06-17T06:47:31.7850006Z           ]
2026-06-17T06:47:31.7850259Z         }
2026-06-17T06:47:31.7850515Z       }
2026-06-17T06:47:31.7850764Z     },
2026-06-17T06:47:31.7851016Z     {
2026-06-17T06:47:31.7851336Z       "id": "REQ-HAZARD-CASCADE-WIPE-GUARD",
2026-06-17T06:47:31.7851865Z       "title": "No hard-delete of a parent hosting non-empty children (6.3)",
2026-06-17T06:47:31.7852150Z       "requiredStages": [
2026-06-17T06:47:31.7852402Z         "impl",
2026-06-17T06:47:31.7852656Z         "unit"
2026-06-17T06:47:31.7852904Z       ],
2026-06-17T06:47:31.7853186Z       "stages": {
2026-06-17T06:47:31.7853443Z         "doc": {
2026-06-17T06:47:31.7853722Z           "complete": false,
2026-06-17T06:47:31.7853982Z           "evidence": []
2026-06-17T06:47:31.7854222Z         },
2026-06-17T06:47:31.7854484Z         "impl": {
2026-06-17T06:47:31.7854756Z           "complete": true,
2026-06-17T06:47:31.7855017Z           "evidence": [
2026-06-17T06:47:31.7855265Z             {
2026-06-17T06:47:31.7855623Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T06:47:31.7855890Z               "line": 168
2026-06-17T06:47:31.7856133Z             },
2026-06-17T06:47:31.7856392Z             {
2026-06-17T06:47:31.7856728Z               "path": "crates/spt/src/api/worker.rs",
2026-06-17T06:47:31.7856993Z               "line": 18
2026-06-17T06:47:31.7857240Z             },
2026-06-17T06:47:31.7857488Z             {
2026-06-17T06:47:31.7857822Z               "path": "crates/spt/src/api/worker.rs",
2026-06-17T06:47:31.7858085Z               "line": 100
2026-06-17T06:47:31.7858343Z             }
2026-06-17T06:47:31.7858596Z           ]
2026-06-17T06:47:31.7858848Z         },
2026-06-17T06:47:31.7859185Z         "int": {
2026-06-17T06:47:31.7859468Z           "complete": false,
2026-06-17T06:47:31.7859745Z           "evidence": []
2026-06-17T06:47:31.7859999Z         },
2026-06-17T06:47:31.7860251Z         "unit": {
2026-06-17T06:47:31.7860524Z           "complete": true,
2026-06-17T06:47:31.7860780Z           "evidence": [
2026-06-17T06:47:31.7861028Z             {
2026-06-17T06:47:31.7861390Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T06:47:31.7861658Z               "line": 853
2026-06-17T06:47:31.7861900Z             },
2026-06-17T06:47:31.7862143Z             {
2026-06-17T06:47:31.7862463Z               "path": "crates/spt/src/api/worker.rs",
2026-06-17T06:47:31.7862745Z               "line": 161
2026-06-17T06:47:31.7863001Z             },
2026-06-17T06:47:31.7863244Z             {
2026-06-17T06:47:31.7863578Z               "path": "crates/spt/src/api/worker.rs",
2026-06-17T06:47:31.7863840Z               "line": 233
2026-06-17T06:47:31.7864084Z             }
2026-06-17T06:47:31.7864335Z           ]
2026-06-17T06:47:31.7864585Z         }
2026-06-17T06:47:31.7864834Z       }
2026-06-17T06:47:31.7865082Z     },
2026-06-17T06:47:31.7865335Z     {
2026-06-17T06:47:31.7865650Z       "id": "REQ-HAZARD-CHILD-CONSOLE-FLASH",
2026-06-17T06:47:31.7866962Z       "title": "Console-subsystem children of the console-less daemon spawn with CREATE_NO_WINDOW, or each spawn flashes a visible blank window on the user's desktop (5.8)",
2026-06-17T06:47:31.7867358Z       "requiredStages": [
2026-06-17T06:47:31.7867625Z         "impl",
2026-06-17T06:47:31.7867878Z         "unit"
2026-06-17T06:47:31.7868120Z       ],
2026-06-17T06:47:31.7868396Z       "stages": {
2026-06-17T06:47:31.7868650Z         "doc": {
2026-06-17T06:47:31.7868926Z           "complete": true,
2026-06-17T06:47:31.7869288Z           "evidence": [
2026-06-17T06:47:31.7869565Z             {
2026-06-17T06:47:31.7869883Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-17T06:47:31.7870235Z               "line": 220
2026-06-17T06:47:31.7870487Z             }
2026-06-17T06:47:31.7870745Z           ]
2026-06-17T06:47:31.7870992Z         },
2026-06-17T06:47:31.7871245Z         "impl": {
2026-06-17T06:47:31.7871522Z           "complete": true,
2026-06-17T06:47:31.7871789Z           "evidence": [
2026-06-17T06:47:31.7872043Z             {
2026-06-17T06:47:31.7872409Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-17T06:47:31.7872670Z               "line": 312
2026-06-17T06:47:31.7872917Z             },
2026-06-17T06:47:31.7873170Z             {
2026-06-17T06:47:31.7873542Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-17T06:47:31.7873809Z               "line": 331
2026-06-17T06:47:31.7874062Z             },
2026-06-17T06:47:31.7874311Z             {
2026-06-17T06:47:31.7874663Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-17T06:47:31.7874924Z               "line": 536
2026-06-17T06:47:31.7875179Z             },
2026-06-17T06:47:31.7875432Z             {
2026-06-17T06:47:31.7875784Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-17T06:47:31.7876037Z               "line": 77
2026-06-17T06:47:31.7876295Z             }
2026-06-17T06:47:31.7876543Z           ]
2026-06-17T06:47:31.7876796Z         },
2026-06-17T06:47:31.7877053Z         "int": {
2026-06-17T06:47:31.7877330Z           "complete": false,
2026-06-17T06:47:31.7877601Z           "evidence": []
2026-06-17T06:47:31.7877839Z         },
2026-06-17T06:47:31.7878089Z         "unit": {
2026-06-17T06:47:31.7878351Z           "complete": true,
2026-06-17T06:47:31.7878618Z           "evidence": [
2026-06-17T06:47:31.7878867Z             {
2026-06-17T06:47:31.7879329Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-17T06:47:31.7879610Z               "line": 705
2026-06-17T06:47:31.7879862Z             },
2026-06-17T06:47:31.7880121Z             {
2026-06-17T06:47:31.7880476Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-17T06:47:31.7880747Z               "line": 743
2026-06-17T06:47:31.7880995Z             },
2026-06-17T06:47:31.7881256Z             {
2026-06-17T06:47:31.7881601Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-17T06:47:31.7881857Z               "line": 166
2026-06-17T06:47:31.7882115Z             }
2026-06-17T06:47:31.7882354Z           ]
2026-06-17T06:47:31.7882608Z         }
2026-06-17T06:47:31.7882855Z       }
2026-06-17T06:47:31.7883106Z     },
2026-06-17T06:47:31.7883350Z     {
2026-06-17T06:47:31.7883692Z       "id": "REQ-HAZARD-CONFLICT-BOTH-PRESERVED",
2026-06-17T06:47:31.7885412Z       "title": "A surfaced concurrent context pair is durably preserved (both versions, tracked artifacts) until a strictly dominating write clears it; no reconcile failure path discards an unmerged version (6.6, ADR-0013)",
2026-06-17T06:47:31.7885691Z       "requiredStages": [
2026-06-17T06:47:31.7885959Z         "impl",
2026-06-17T06:47:31.7886207Z         "unit"
2026-06-17T06:47:31.7886460Z       ],
2026-06-17T06:47:31.7886717Z       "stages": {
2026-06-17T06:47:31.7886969Z         "doc": {
2026-06-17T06:47:31.7887232Z           "complete": false,
2026-06-17T06:47:31.7887499Z           "evidence": []
2026-06-17T06:47:31.7887743Z         },
2026-06-17T06:47:31.7887991Z         "impl": {
2026-06-17T06:47:31.7888265Z           "complete": true,
2026-06-17T06:47:31.7888530Z           "evidence": [
2026-06-17T06:47:31.7888784Z             {
2026-06-17T06:47:31.7889356Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-17T06:47:31.7889661Z               "line": 22
2026-06-17T06:47:31.7889923Z             },
2026-06-17T06:47:31.7890180Z             {
2026-06-17T06:47:31.7890524Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-17T06:47:31.7890794Z               "line": 487
2026-06-17T06:47:31.7891045Z             },
2026-06-17T06:47:31.7891302Z             {
2026-06-17T06:47:31.7891655Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-17T06:47:31.7892023Z               "line": 17
2026-06-17T06:47:31.7892266Z             },
2026-06-17T06:47:31.7892524Z             {
2026-06-17T06:47:31.7892881Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-17T06:47:31.7893144Z               "line": 147
2026-06-17T06:47:31.7893391Z             },
2026-06-17T06:47:31.7893632Z             {
2026-06-17T06:47:31.7894019Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-17T06:47:31.7894290Z               "line": 226
2026-06-17T06:47:31.7894544Z             },
2026-06-17T06:47:31.7894802Z             {
2026-06-17T06:47:31.7895172Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-17T06:47:31.7895464Z               "line": 251
2026-06-17T06:47:31.7895737Z             },
2026-06-17T06:47:31.7895992Z             {
2026-06-17T06:47:31.7896376Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-17T06:47:31.7896633Z               "line": 277
2026-06-17T06:47:31.7896886Z             },
2026-06-17T06:47:31.7897134Z             {
2026-06-17T06:47:31.7897496Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-17T06:47:31.7897754Z               "line": 124
2026-06-17T06:47:31.7897998Z             },
2026-06-17T06:47:31.7898241Z             {
2026-06-17T06:47:31.7898590Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-17T06:47:31.7898854Z               "line": 224
2026-06-17T06:47:31.7899186Z             }
2026-06-17T06:47:31.7899452Z           ]
2026-06-17T06:47:31.7899729Z         },
2026-06-17T06:47:31.7899987Z         "int": {
2026-06-17T06:47:31.7900264Z           "complete": false,
2026-06-17T06:47:31.7900517Z           "evidence": []
2026-06-17T06:47:31.7900774Z         },
2026-06-17T06:47:31.7901017Z         "unit": {
2026-06-17T06:47:31.7901288Z           "complete": true,
2026-06-17T06:47:31.7901535Z           "evidence": [
2026-06-17T06:47:31.7901776Z             {
2026-06-17T06:47:31.7902144Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-17T06:47:31.7902411Z               "line": 63
2026-06-17T06:47:31.7902658Z             },
2026-06-17T06:47:31.7902902Z             {
2026-06-17T06:47:31.7903264Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-17T06:47:31.7903516Z               "line": 73
2026-06-17T06:47:31.7903770Z             },
2026-06-17T06:47:31.7904014Z             {
2026-06-17T06:47:31.7904369Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-17T06:47:31.7904631Z               "line": 85
2026-06-17T06:47:31.7904888Z             },
2026-06-17T06:47:31.7905142Z             {
2026-06-17T06:47:31.7905485Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-17T06:47:31.7905742Z               "line": 346
2026-06-17T06:47:31.7906001Z             },
2026-06-17T06:47:31.7906254Z             {
2026-06-17T06:47:31.7906604Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-17T06:47:31.7906854Z               "line": 281
2026-06-17T06:47:31.7907112Z             },
2026-06-17T06:47:31.7907370Z             {
2026-06-17T06:47:31.7907722Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-17T06:47:31.7907990Z               "line": 322
2026-06-17T06:47:31.7908234Z             },
2026-06-17T06:47:31.7908491Z             {
2026-06-17T06:47:31.7908854Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-17T06:47:31.7909188Z               "line": 360
2026-06-17T06:47:31.7909433Z             },
2026-06-17T06:47:31.7909679Z             {
2026-06-17T06:47:31.7910166Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-17T06:47:31.7910438Z               "line": 688
2026-06-17T06:47:31.7910690Z             },
2026-06-17T06:47:31.7910933Z             {
2026-06-17T06:47:31.7911300Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-17T06:47:31.7911562Z               "line": 397
2026-06-17T06:47:31.7911815Z             },
2026-06-17T06:47:31.7912067Z             {
2026-06-17T06:47:31.7912433Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-17T06:47:31.7912832Z               "line": 440
2026-06-17T06:47:31.7913086Z             }
2026-06-17T06:47:31.7913329Z           ]
2026-06-17T06:47:31.7913576Z         }
2026-06-17T06:47:31.7913810Z       }
2026-06-17T06:47:31.7914058Z     },
2026-06-17T06:47:31.7914297Z     {
2026-06-17T06:47:31.7914593Z       "id": "REQ-HAZARD-CONPTY-DSR",
2026-06-17T06:47:31.7915230Z       "title": "ConPTY reader must auto-answer DSR (ESC[6n) or all child output stalls (5.5)",
2026-06-17T06:47:31.7915531Z       "requiredStages": [
2026-06-17T06:47:31.7915792Z         "impl",
2026-06-17T06:47:31.7916041Z         "unit"
2026-06-17T06:47:31.7916298Z       ],
2026-06-17T06:47:31.7916561Z       "stages": {
2026-06-17T06:47:31.7916814Z         "doc": {
2026-06-17T06:47:31.7917074Z           "complete": false,
2026-06-17T06:47:31.7917348Z           "evidence": []
2026-06-17T06:47:31.7917601Z         },
2026-06-17T06:47:31.7917854Z         "impl": {
2026-06-17T06:47:31.7918131Z           "complete": true,
2026-06-17T06:47:31.7918398Z           "evidence": [
2026-06-17T06:47:31.7918640Z             {
2026-06-17T06:47:31.7919066Z               "path": "crates/spt-term/src/reader.rs",
2026-06-17T06:47:31.7919337Z               "line": 169
2026-06-17T06:47:31.7919604Z             }
2026-06-17T06:47:31.7919851Z           ]
2026-06-17T06:47:31.7920093Z         },
2026-06-17T06:47:31.7920334Z         "int": {
2026-06-17T06:47:31.7920601Z           "complete": true,
2026-06-17T06:47:31.7920859Z           "evidence": [
2026-06-17T06:47:31.7921108Z             {
2026-06-17T06:47:31.7921441Z               "path": "crates/spt-term/tests/dsr.rs",
2026-06-17T06:47:31.7921694Z               "line": 44
2026-06-17T06:47:31.7921947Z             },
2026-06-17T06:47:31.7922185Z             {
2026-06-17T06:47:31.7922522Z               "path": "crates/spt-term/tests/dsr.rs",
2026-06-17T06:47:31.7922768Z               "line": 66
2026-06-17T06:47:31.7923026Z             }
2026-06-17T06:47:31.7923283Z           ]
2026-06-17T06:47:31.7923531Z         },
2026-06-17T06:47:31.7923778Z         "unit": {
2026-06-17T06:47:31.7924046Z           "complete": true,
2026-06-17T06:47:31.7924298Z           "evidence": [
2026-06-17T06:47:31.7924538Z             {
2026-06-17T06:47:31.7924876Z               "path": "crates/spt-term/src/reader.rs",
2026-06-17T06:47:31.7925158Z               "line": 186
2026-06-17T06:47:31.7925422Z             },
2026-06-17T06:47:31.7925703Z             {
2026-06-17T06:47:31.7926057Z               "path": "crates/spt-term/src/reader.rs",
2026-06-17T06:47:31.7926352Z               "line": 238
2026-06-17T06:47:31.7926619Z             },
2026-06-17T06:47:31.7926896Z             {
2026-06-17T06:47:31.7927259Z               "path": "crates/spt-term/src/reader.rs",
2026-06-17T06:47:31.7927539Z               "line": 266
2026-06-17T06:47:31.7927810Z             }
2026-06-17T06:47:31.7928076Z           ]
2026-06-17T06:47:31.7928357Z         }
2026-06-17T06:47:31.7928614Z       }
2026-06-17T06:47:31.7928890Z     },
2026-06-17T06:47:31.7929244Z     {
2026-06-17T06:47:31.7929616Z       "id": "REQ-HAZARD-DAEMON-HOSTED-LIVENESS",
2026-06-17T06:47:31.7930904Z       "title": "Daemon-hosted perches (Psyche, spt-hosted Self) derive liveness from the daemon endpoint table + info.json status, never is_process_alive(info.pid) (2.5)",
2026-06-17T06:47:31.7931185Z       "requiredStages": [
2026-06-17T06:47:31.7931443Z         "impl",
2026-06-17T06:47:31.7931701Z         "unit",
2026-06-17T06:47:31.7931953Z         "int"
2026-06-17T06:47:31.7932311Z       ],
2026-06-17T06:47:31.7932574Z       "stages": {
2026-06-17T06:47:31.7932832Z         "doc": {
2026-06-17T06:47:31.7933106Z           "complete": false,
2026-06-17T06:47:31.7933384Z           "evidence": []
2026-06-17T06:47:31.7933633Z         },
2026-06-17T06:47:31.7933901Z         "impl": {
2026-06-17T06:47:31.7934177Z           "complete": true,
2026-06-17T06:47:31.7934440Z           "evidence": [
2026-06-17T06:47:31.7934696Z             {
2026-06-17T06:47:31.7935070Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-17T06:47:31.7935450Z               "line": 177
2026-06-17T06:47:31.7935689Z             },
2026-06-17T06:47:31.7935949Z             {
2026-06-17T06:47:31.7936331Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-17T06:47:31.7936602Z               "line": 201
2026-06-17T06:47:31.7936865Z             },
2026-06-17T06:47:31.7937113Z             {
2026-06-17T06:47:31.7937466Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-17T06:47:31.7937738Z               "line": 79
2026-06-17T06:47:31.7937987Z             },
2026-06-17T06:47:31.7938242Z             {
2026-06-17T06:47:31.7938564Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-17T06:47:31.7938835Z               "line": 52
2026-06-17T06:47:31.7939169Z             },
2026-06-17T06:47:31.7939422Z             {
2026-06-17T06:47:31.7939755Z               "path": "crates/spt-store/src/info.rs",
2026-06-17T06:47:31.7940023Z               "line": 240
2026-06-17T06:47:31.7940281Z             },
2026-06-17T06:47:31.7940530Z             {
2026-06-17T06:47:31.7940897Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-17T06:47:31.7941156Z               "line": 27
2026-06-17T06:47:31.7941397Z             },
2026-06-17T06:47:31.7941645Z             {
2026-06-17T06:47:31.7941993Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-17T06:47:31.7942252Z               "line": 79
2026-06-17T06:47:31.7942504Z             },
2026-06-17T06:47:31.7942753Z             {
2026-06-17T06:47:31.7943111Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-17T06:47:31.7943373Z               "line": 102
2026-06-17T06:47:31.7943628Z             },
2026-06-17T06:47:31.7943869Z             {
2026-06-17T06:47:31.7944231Z               "path": "crates/spt-store/src/registry.rs",
2026-06-17T06:47:31.7944494Z               "line": 116
2026-06-17T06:47:31.7944751Z             }
2026-06-17T06:47:31.7944995Z           ]
2026-06-17T06:47:31.7945247Z         },
2026-06-17T06:47:31.7945509Z         "int": {
2026-06-17T06:47:31.7945781Z           "complete": true,
2026-06-17T06:47:31.7946043Z           "evidence": [
2026-06-17T06:47:31.7946293Z             {
2026-06-17T06:47:31.7946678Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-17T06:47:31.7946935Z               "line": 43
2026-06-17T06:47:31.7947192Z             }
2026-06-17T06:47:31.7947444Z           ]
2026-06-17T06:47:31.7947683Z         },
2026-06-17T06:47:31.7947941Z         "unit": {
2026-06-17T06:47:31.7948204Z           "complete": true,
2026-06-17T06:47:31.7948470Z           "evidence": [
2026-06-17T06:47:31.7948721Z             {
2026-06-17T06:47:31.7949158Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-17T06:47:31.7949424Z               "line": 653
2026-06-17T06:47:31.7949677Z             },
2026-06-17T06:47:31.7949930Z             {
2026-06-17T06:47:31.7950254Z               "path": "crates/spt-store/src/info.rs",
2026-06-17T06:47:31.7950516Z               "line": 438
2026-06-17T06:47:31.7950765Z             },
2026-06-17T06:47:31.7951018Z             {
2026-06-17T06:47:31.7951371Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-17T06:47:31.7951626Z               "line": 124
2026-06-17T06:47:31.7951867Z             },
2026-06-17T06:47:31.7952125Z             {
2026-06-17T06:47:31.7952474Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-17T06:47:31.7952740Z               "line": 143
2026-06-17T06:47:31.7952993Z             },
2026-06-17T06:47:31.7953365Z             {
2026-06-17T06:47:31.7953723Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-17T06:47:31.7953986Z               "line": 160
2026-06-17T06:47:31.7954241Z             },
2026-06-17T06:47:31.7954500Z             {
2026-06-17T06:47:31.7954843Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-17T06:47:31.7955110Z               "line": 187
2026-06-17T06:47:31.7955364Z             },
2026-06-17T06:47:31.7955612Z             {
2026-06-17T06:47:31.7956079Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-17T06:47:31.7956346Z               "line": 206
2026-06-17T06:47:31.7956603Z             },
2026-06-17T06:47:31.7956858Z             {
2026-06-17T06:47:31.7957213Z               "path": "crates/spt-store/src/registry.rs",
2026-06-17T06:47:31.7962446Z               "line": 229
2026-06-17T06:47:31.7962747Z             }
2026-06-17T06:47:31.7963043Z           ]
2026-06-17T06:47:31.7963282Z         }
2026-06-17T06:47:31.7963544Z       }
2026-06-17T06:47:31.7963791Z     },
2026-06-17T06:47:31.7964039Z     {
2026-06-17T06:47:31.7964406Z       "id": "REQ-HAZARD-DAEMON-SCHED-NONBLOCKING",
2026-06-17T06:47:31.7966411Z       "title": "Per-agent pulse/psyche/echo-commune scheduling must not serialize across agents: each agent's bounded LLM call (echo-commune summarizer, Psyche turn) runs off the shared scheduler so one slow/hung call cannot stall another agent's tick (7.4)",
2026-06-17T06:47:31.7966691Z       "requiredStages": [
2026-06-17T06:47:31.7966944Z         "impl",
2026-06-17T06:47:31.7967196Z         "unit"
2026-06-17T06:47:31.7967446Z       ],
2026-06-17T06:47:31.7967697Z       "stages": {
2026-06-17T06:47:31.7967944Z         "doc": {
2026-06-17T06:47:31.7968216Z           "complete": false,
2026-06-17T06:47:31.7968475Z           "evidence": []
2026-06-17T06:47:31.7968709Z         },
2026-06-17T06:47:31.7969042Z         "impl": {
2026-06-17T06:47:31.7969305Z           "complete": true,
2026-06-17T06:47:31.7969556Z           "evidence": [
2026-06-17T06:47:31.7969813Z             {
2026-06-17T06:47:31.7970163Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-17T06:47:31.7970430Z               "line": 621
2026-06-17T06:47:31.7970665Z             },
2026-06-17T06:47:31.7970908Z             {
2026-06-17T06:47:31.7971261Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-17T06:47:31.7971522Z               "line": 834
2026-06-17T06:47:31.7971765Z             }
2026-06-17T06:47:31.7971999Z           ]
2026-06-17T06:47:31.7972252Z         },
2026-06-17T06:47:31.7972496Z         "int": {
2026-06-17T06:47:31.7972785Z           "complete": false,
2026-06-17T06:47:31.7973058Z           "evidence": []
2026-06-17T06:47:31.7973307Z         },
2026-06-17T06:47:31.7973560Z         "unit": {
2026-06-17T06:47:31.7973822Z           "complete": true,
2026-06-17T06:47:31.7974089Z           "evidence": [
2026-06-17T06:47:31.7974336Z             {
2026-06-17T06:47:31.7974719Z               "path": "crates/spt-daemon/tests/shellchan.rs",
2026-06-17T06:47:31.7974975Z               "line": 161
2026-06-17T06:47:31.7975228Z             }
2026-06-17T06:47:31.7975475Z           ]
2026-06-17T06:47:31.7975726Z         }
2026-06-17T06:47:31.7975974Z       }
2026-06-17T06:47:31.7976217Z     },
2026-06-17T06:47:31.7976460Z     {
2026-06-17T06:47:31.7976770Z       "id": "REQ-HAZARD-DEFERRED-DRAIN",
2026-06-17T06:47:31.7977314Z       "title": "Deferred spool rows excluded from the event-stream drain (1.4)",
2026-06-17T06:47:31.7977581Z       "requiredStages": [
2026-06-17T06:47:31.7977838Z         "impl",
2026-06-17T06:47:31.7978095Z         "unit"
2026-06-17T06:47:31.7978338Z       ],
2026-06-17T06:47:31.7978581Z       "stages": {
2026-06-17T06:47:31.7978843Z         "doc": {
2026-06-17T06:47:31.7979182Z           "complete": false,
2026-06-17T06:47:31.7979458Z           "evidence": []
2026-06-17T06:47:31.7979702Z         },
2026-06-17T06:47:31.7979945Z         "impl": {
2026-06-17T06:47:31.7980208Z           "complete": true,
2026-06-17T06:47:31.7980809Z           "evidence": [
2026-06-17T06:47:31.7981062Z             {
2026-06-17T06:47:31.7981395Z               "path": "crates/spt-store/src/spool.rs",
2026-06-17T06:47:31.7981648Z               "line": 40
2026-06-17T06:47:31.7981901Z             },
2026-06-17T06:47:31.7982159Z             {
2026-06-17T06:47:31.7982488Z               "path": "crates/spt-store/src/spool.rs",
2026-06-17T06:47:31.7982756Z               "line": 103
2026-06-17T06:47:31.7983003Z             },
2026-06-17T06:47:31.7983350Z             {
2026-06-17T06:47:31.7983710Z               "path": "crates/spt-store/src/spool.rs",
2026-06-17T06:47:31.7983991Z               "line": 218
2026-06-17T06:47:31.7984239Z             },
2026-06-17T06:47:31.7984497Z             {
2026-06-17T06:47:31.7984844Z               "path": "crates/spt-store/src/spool.rs",
2026-06-17T06:47:31.7985102Z               "line": 323
2026-06-17T06:47:31.7985346Z             }
2026-06-17T06:47:31.7985599Z           ]
2026-06-17T06:47:31.7985845Z         },
2026-06-17T06:47:31.7986100Z         "int": {
2026-06-17T06:47:31.7986378Z           "complete": false,
2026-06-17T06:47:31.7986644Z           "evidence": []
2026-06-17T06:47:31.7986897Z         },
2026-06-17T06:47:31.7987143Z         "unit": {
2026-06-17T06:47:31.7987421Z           "complete": true,
2026-06-17T06:47:31.7987683Z           "evidence": [
2026-06-17T06:47:31.7987927Z             {
2026-06-17T06:47:31.7988265Z               "path": "crates/spt-store/src/spool.rs",
2026-06-17T06:47:31.7988528Z               "line": 361
2026-06-17T06:47:31.7988783Z             },
2026-06-17T06:47:31.7989107Z             {
2026-06-17T06:47:31.7989447Z               "path": "crates/spt-store/src/spool.rs",
2026-06-17T06:47:31.7989728Z               "line": 433
2026-06-17T06:47:31.7989980Z             },
2026-06-17T06:47:31.7990219Z             {
2026-06-17T06:47:31.7990557Z               "path": "crates/spt-store/src/spool.rs",
2026-06-17T06:47:31.7990820Z               "line": 496
2026-06-17T06:47:31.7991066Z             },
2026-06-17T06:47:31.7991312Z             {
2026-06-17T06:47:31.7991645Z               "path": "crates/spt-store/src/spool.rs",
2026-06-17T06:47:31.7991893Z               "line": 517
2026-06-17T06:47:31.7992137Z             }
2026-06-17T06:47:31.7992386Z           ]
2026-06-17T06:47:31.7992633Z         }
2026-06-17T06:47:31.7992871Z       }
2026-06-17T06:47:31.7993123Z     },
2026-06-17T06:47:31.7993359Z     {
2026-06-17T06:47:31.7993692Z       "id": "REQ-HAZARD-DEFERRED-SURVIVE-DRAIN",
2026-06-17T06:47:31.7994056Z       "title": "Deferred rows survive poll drain (4.4)",
2026-06-17T06:47:31.7994337Z       "requiredStages": [
2026-06-17T06:47:31.7994585Z         "impl",
2026-06-17T06:47:31.7994823Z         "unit"
2026-06-17T06:47:31.7995075Z       ],
2026-06-17T06:47:31.7995319Z       "stages": {
2026-06-17T06:47:31.7995563Z         "doc": {
2026-06-17T06:47:31.7995835Z           "complete": false,
2026-06-17T06:47:31.7996087Z           "evidence": []
2026-06-17T06:47:31.7996334Z         },
2026-06-17T06:47:31.7996590Z         "impl": {
2026-06-17T06:47:31.7996856Z           "complete": true,
2026-06-17T06:47:31.7997099Z           "evidence": [
2026-06-17T06:47:31.7997347Z             {
2026-06-17T06:47:31.7997680Z               "path": "crates/spt-store/src/spool.rs",
2026-06-17T06:47:31.7997948Z               "line": 116
2026-06-17T06:47:31.7998201Z             },
2026-06-17T06:47:31.7998431Z             {
2026-06-17T06:47:31.7998764Z               "path": "crates/spt-store/src/spool.rs",
2026-06-17T06:47:31.7999084Z               "line": 211
2026-06-17T06:47:31.7999343Z             }
2026-06-17T06:47:31.7999586Z           ]
2026-06-17T06:47:31.7999821Z         },
2026-06-17T06:47:31.8000069Z         "int": {
2026-06-17T06:47:31.8000336Z           "complete": false,
2026-06-17T06:47:31.8000593Z           "evidence": []
2026-06-17T06:47:31.8000841Z         },
2026-06-17T06:47:31.8001089Z         "unit": {
2026-06-17T06:47:31.8001348Z           "complete": true,
2026-06-17T06:47:31.8001612Z           "evidence": [
2026-06-17T06:47:31.8001982Z             {
2026-06-17T06:47:31.8002317Z               "path": "crates/spt-store/src/spool.rs",
2026-06-17T06:47:31.8002574Z               "line": 388
2026-06-17T06:47:31.8002816Z             },
2026-06-17T06:47:31.8003060Z             {
2026-06-17T06:47:31.8003384Z               "path": "crates/spt-store/src/spool.rs",
2026-06-17T06:47:31.8003646Z               "line": 469
2026-06-17T06:47:31.8003900Z             }
2026-06-17T06:47:31.8004138Z           ]
2026-06-17T06:47:31.8004489Z         }
2026-06-17T06:47:31.8004734Z       }
2026-06-17T06:47:31.8004982Z     },
2026-06-17T06:47:31.8005226Z     {
2026-06-17T06:47:31.8005574Z       "id": "REQ-HAZARD-DETACHED-PIPE-INHERIT",
2026-06-17T06:47:31.8008671Z       "title": "Windows detached long-lived children must not inherit a captured caller's pipe: every detach-spawn of an immortal child (daemon, shell binary) runs bInheritHandles=FALSE, or a caller capturing output anywhere up the process chain hangs forever on a pipe that never EOFs — std-handle flag stripping is NOT sufficient (grandparent strays still flow) (5.6)",
2026-06-17T06:47:31.8009028Z       "requiredStages": [
2026-06-17T06:47:31.8009291Z         "impl",
2026-06-17T06:47:31.8009528Z         "unit"
2026-06-17T06:47:31.8009775Z       ],
2026-06-17T06:47:31.8010033Z       "stages": {
2026-06-17T06:47:31.8010281Z         "doc": {
2026-06-17T06:47:31.8010543Z           "complete": true,
2026-06-17T06:47:31.8010795Z           "evidence": [
2026-06-17T06:47:31.8011038Z             {
2026-06-17T06:47:31.8011349Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-17T06:47:31.8011611Z               "line": 206
2026-06-17T06:47:31.8011855Z             }
2026-06-17T06:47:31.8012101Z           ]
2026-06-17T06:47:31.8012342Z         },
2026-06-17T06:47:31.8012581Z         "impl": {
2026-06-17T06:47:31.8012862Z           "complete": true,
2026-06-17T06:47:31.8013119Z           "evidence": [
2026-06-17T06:47:31.8013371Z             {
2026-06-17T06:47:31.8013729Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-17T06:47:31.8013987Z               "line": 630
2026-06-17T06:47:31.8014239Z             },
2026-06-17T06:47:31.8014484Z             {
2026-06-17T06:47:31.8014836Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-17T06:47:31.8015101Z               "line": 722
2026-06-17T06:47:31.8015352Z             },
2026-06-17T06:47:31.8015604Z             {
2026-06-17T06:47:31.8015962Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-17T06:47:31.8016224Z               "line": 184
2026-06-17T06:47:31.8016458Z             }
2026-06-17T06:47:31.8016703Z           ]
2026-06-17T06:47:31.8016945Z         },
2026-06-17T06:47:31.8017197Z         "int": {
2026-06-17T06:47:31.8017468Z           "complete": false,
2026-06-17T06:47:31.8017734Z           "evidence": []
2026-06-17T06:47:31.8017967Z         },
2026-06-17T06:47:31.8018209Z         "unit": {
2026-06-17T06:47:31.8018481Z           "complete": true,
2026-06-17T06:47:31.8018729Z           "evidence": [
2026-06-17T06:47:31.8019049Z             {
2026-06-17T06:47:31.8019420Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-17T06:47:31.8019687Z               "line": 771
2026-06-17T06:47:31.8019927Z             },
2026-06-17T06:47:31.8020170Z             {
2026-06-17T06:47:31.8020536Z               "path": "crates/spt/tests/notify_shell_e2e.rs",
2026-06-17T06:47:31.8020793Z               "line": 44
2026-06-17T06:47:31.8021036Z             },
2026-06-17T06:47:31.8021289Z             {
2026-06-17T06:47:31.8021660Z               "path": "crates/spt/tests/shell_actgate_e2e.rs",
2026-06-17T06:47:31.8021923Z               "line": 52
2026-06-17T06:47:31.8022157Z             },
2026-06-17T06:47:31.8022405Z             {
2026-06-17T06:47:31.8022747Z               "path": "crates/spt/tests/shell_e2e.rs",
2026-06-17T06:47:31.8022997Z               "line": 57
2026-06-17T06:47:31.8023245Z             },
2026-06-17T06:47:31.8023489Z             {
2026-06-17T06:47:31.8023865Z               "path": "crates/spt/tests/shell_sleepwake_e2e.rs",
2026-06-17T06:47:31.8024251Z               "line": 54
2026-06-17T06:47:31.8024504Z             }
2026-06-17T06:47:31.8024752Z           ]
2026-06-17T06:47:31.8024992Z         }
2026-06-17T06:47:31.8025239Z       }
2026-06-17T06:47:31.8025480Z     },
2026-06-17T06:47:31.8025727Z     {
2026-06-17T06:47:31.8026070Z       "id": "REQ-HAZARD-DIRECT-WRITE-PRECEDENCE",
2026-06-17T06:47:31.8026719Z       "title": "Direct-write precedence marker (with node id) guards stale overwrite (6.5)",
2026-06-17T06:47:31.8027108Z       "requiredStages": [
2026-06-17T06:47:31.8027361Z         "impl",
2026-06-17T06:47:31.8027616Z         "unit"
2026-06-17T06:47:31.8027859Z       ],
2026-06-17T06:47:31.8028113Z       "stages": {
2026-06-17T06:47:31.8028359Z         "doc": {
2026-06-17T06:47:31.8028637Z           "complete": false,
2026-06-17T06:47:31.8028904Z           "evidence": []
2026-06-17T06:47:31.8029213Z         },
2026-06-17T06:47:31.8029471Z         "impl": {
2026-06-17T06:47:31.8029742Z           "complete": true,
2026-06-17T06:47:31.8030004Z           "evidence": [
2026-06-17T06:47:31.8030247Z             {
2026-06-17T06:47:31.8030596Z               "path": "crates/spt-live/src/context.rs",
2026-06-17T06:47:31.8030867Z               "line": 26
2026-06-17T06:47:31.8031120Z             },
2026-06-17T06:47:31.8031372Z             {
2026-06-17T06:47:31.8031697Z               "path": "crates/spt-live/src/context.rs",
2026-06-17T06:47:31.8031963Z               "line": 135
2026-06-17T06:47:31.8032211Z             },
2026-06-17T06:47:31.8032459Z             {
2026-06-17T06:47:31.8032850Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-17T06:47:31.8033102Z               "line": 26
2026-06-17T06:47:31.8033350Z             },
2026-06-17T06:47:31.8033600Z             {
2026-06-17T06:47:31.8033963Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-17T06:47:31.8034230Z               "line": 237
2026-06-17T06:47:31.8034482Z             }
2026-06-17T06:47:31.8034731Z           ]
2026-06-17T06:47:31.8034983Z         },
2026-06-17T06:47:31.8035228Z         "int": {
2026-06-17T06:47:31.8035503Z           "complete": false,
2026-06-17T06:47:31.8035774Z           "evidence": []
2026-06-17T06:47:31.8036022Z         },
2026-06-17T06:47:31.8036273Z         "unit": {
2026-06-17T06:47:31.8036554Z           "complete": true,
2026-06-17T06:47:31.8036816Z           "evidence": [
2026-06-17T06:47:31.8037063Z             {
2026-06-17T06:47:31.8037407Z               "path": "crates/spt-live/src/context.rs",
2026-06-17T06:47:31.8037673Z               "line": 161
2026-06-17T06:47:31.8037921Z             },
2026-06-17T06:47:31.8038166Z             {
2026-06-17T06:47:31.8038509Z               "path": "crates/spt-live/src/context.rs",
2026-06-17T06:47:31.8038764Z               "line": 170
2026-06-17T06:47:31.8039096Z             },
2026-06-17T06:47:31.8039334Z             {
2026-06-17T06:47:31.8039688Z               "path": "crates/spt-live/src/context.rs",
2026-06-17T06:47:31.8039944Z               "line": 179
2026-06-17T06:47:31.8040202Z             },
2026-06-17T06:47:31.8040455Z             {
2026-06-17T06:47:31.8040793Z               "path": "crates/spt-live/src/context.rs",
2026-06-17T06:47:31.8041057Z               "line": 190
2026-06-17T06:47:31.8041305Z             },
2026-06-17T06:47:31.8041559Z             {
2026-06-17T06:47:31.8041894Z               "path": "crates/spt-live/src/context.rs",
2026-06-17T06:47:31.8042170Z               "line": 199
2026-06-17T06:47:31.8042414Z             },
2026-06-17T06:47:31.8042657Z             {
2026-06-17T06:47:31.8042991Z               "path": "crates/spt-live/src/context.rs",
2026-06-17T06:47:31.8043250Z               "line": 216
2026-06-17T06:47:31.8043511Z             },
2026-06-17T06:47:31.8043743Z             {
2026-06-17T06:47:31.8044088Z               "path": "crates/spt-live/src/context.rs",
2026-06-17T06:47:31.8044346Z               "line": 242
2026-06-17T06:47:31.8044590Z             },
2026-06-17T06:47:31.8044848Z             {
2026-06-17T06:47:31.8045300Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-17T06:47:31.8045572Z               "line": 295
2026-06-17T06:47:31.8045830Z             },
2026-06-17T06:47:31.8046078Z             {
2026-06-17T06:47:31.8046422Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-17T06:47:31.8046681Z               "line": 244
2026-06-17T06:47:31.8046942Z             },
2026-06-17T06:47:31.8047181Z             {
2026-06-17T06:47:31.8047557Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-17T06:47:31.8047919Z               "line": 265
2026-06-17T06:47:31.8048157Z             },
2026-06-17T06:47:31.8048411Z             {
2026-06-17T06:47:31.8048773Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-17T06:47:31.8049125Z               "line": 293
2026-06-17T06:47:31.8049368Z             },
2026-06-17T06:47:31.8049623Z             {
2026-06-17T06:47:31.8050005Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-17T06:47:31.8050267Z               "line": 317
2026-06-17T06:47:31.8050514Z             },
2026-06-17T06:47:31.8050758Z             {
2026-06-17T06:47:31.8051124Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-17T06:47:31.8051372Z               "line": 327
2026-06-17T06:47:31.8051626Z             },
2026-06-17T06:47:31.8051870Z             {
2026-06-17T06:47:31.8052221Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-17T06:47:31.8052483Z               "line": 540
2026-06-17T06:47:31.8052726Z             }
2026-06-17T06:47:31.8052984Z           ]
2026-06-17T06:47:31.8053222Z         }
2026-06-17T06:47:31.8053456Z       }
2026-06-17T06:47:31.8053708Z     },
2026-06-17T06:47:31.8053956Z     {
2026-06-17T06:47:31.8054294Z       "id": "REQ-HAZARD-DROP-FILE-SINGLE-WRITER",
2026-06-17T06:47:31.8054716Z       "title": "Drop files are daemon-owned single-writer (6.4)",
2026-06-17T06:47:31.8054992Z       "requiredStages": [
2026-06-17T06:47:31.8055235Z         "impl",
2026-06-17T06:47:31.8055484Z         "unit"
2026-06-17T06:47:31.8055728Z       ],
2026-06-17T06:47:31.8055974Z       "stages": {
2026-06-17T06:47:31.8056237Z         "doc": {
2026-06-17T06:47:31.8056504Z           "complete": false,
2026-06-17T06:47:31.8056775Z           "evidence": []
2026-06-17T06:47:31.8057011Z         },
2026-06-17T06:47:31.8057289Z         "impl": {
2026-06-17T06:47:31.8057597Z           "complete": true,
2026-06-17T06:47:31.8057854Z           "evidence": [
2026-06-17T06:47:31.8058098Z             {
2026-06-17T06:47:31.8058418Z               "path": "crates/spt-live/src/echo.rs",
2026-06-17T06:47:31.8058670Z               "line": 25
2026-06-17T06:47:31.8058915Z             },
2026-06-17T06:47:31.8059258Z             {
2026-06-17T06:47:31.8059591Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-17T06:47:31.8059851Z               "line": 26
2026-06-17T06:47:31.8060092Z             },
2026-06-17T06:47:31.8060341Z             {
2026-06-17T06:47:31.8060674Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-17T06:47:31.8060937Z               "line": 159
2026-06-17T06:47:31.8061190Z             }
2026-06-17T06:47:31.8061437Z           ]
2026-06-17T06:47:31.8061680Z         },
2026-06-17T06:47:31.8061923Z         "int": {
2026-06-17T06:47:31.8062196Z           "complete": false,
2026-06-17T06:47:31.8062463Z           "evidence": []
2026-06-17T06:47:31.8062709Z         },
2026-06-17T06:47:31.8062961Z         "unit": {
2026-06-17T06:47:31.8063234Z           "complete": true,
2026-06-17T06:47:31.8063486Z           "evidence": [
2026-06-17T06:47:31.8063726Z             {
2026-06-17T06:47:31.8064045Z               "path": "crates/spt-live/src/echo.rs",
2026-06-17T06:47:31.8064312Z               "line": 188
2026-06-17T06:47:31.8064549Z             },
2026-06-17T06:47:31.8064802Z             {
2026-06-17T06:47:31.8065128Z               "path": "crates/spt-live/src/echo.rs",
2026-06-17T06:47:31.8065386Z               "line": 240
2026-06-17T06:47:31.8065638Z             },
2026-06-17T06:47:31.8065886Z             {
2026-06-17T06:47:31.8066335Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-17T06:47:31.8066593Z               "line": 186
2026-06-17T06:47:31.8066844Z             }
2026-06-17T06:47:31.8067097Z           ]
2026-06-17T06:47:31.8067345Z         }
2026-06-17T06:47:31.8067595Z       }
2026-06-17T06:47:31.8067845Z     },
2026-06-17T06:47:31.8068086Z     {
2026-06-17T06:47:31.8068386Z       "id": "REQ-HAZARD-EBUSY-RENAME",
2026-06-17T06:47:31.8068868Z       "title": "tmp-write + atomic-rename + retry on Windows EBUSY (5.2)",
2026-06-17T06:47:31.8069359Z       "requiredStages": [
2026-06-17T06:47:31.8069626Z         "impl",
2026-06-17T06:47:31.8069879Z         "unit"
2026-06-17T06:47:31.8070133Z       ],
2026-06-17T06:47:31.8070402Z       "stages": {
2026-06-17T06:47:31.8070647Z         "doc": {
2026-06-17T06:47:31.8070920Z           "complete": false,
2026-06-17T06:47:31.8071182Z           "evidence": []
2026-06-17T06:47:31.8071435Z         },
2026-06-17T06:47:31.8071698Z         "impl": {
2026-06-17T06:47:31.8071969Z           "complete": true,
2026-06-17T06:47:31.8072236Z           "evidence": [
2026-06-17T06:47:31.8072483Z             {
2026-06-17T06:47:31.8072826Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-17T06:47:31.8073089Z               "line": 48
2026-06-17T06:47:31.8073322Z             },
2026-06-17T06:47:31.8073584Z             {
2026-06-17T06:47:31.8073928Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-17T06:47:31.8074184Z               "line": 55
2026-06-17T06:47:31.8074438Z             },
2026-06-17T06:47:31.8074691Z             {
2026-06-17T06:47:31.8075033Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-17T06:47:31.8075287Z               "line": 74
2026-06-17T06:47:31.8075538Z             },
2026-06-17T06:47:31.8075788Z             {
2026-06-17T06:47:31.8076141Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-17T06:47:31.8076398Z               "line": 91
2026-06-17T06:47:31.8076647Z             }
2026-06-17T06:47:31.8076905Z           ]
2026-06-17T06:47:31.8077153Z         },
2026-06-17T06:47:31.8077400Z         "int": {
2026-06-17T06:47:31.8077676Z           "complete": false,
2026-06-17T06:47:31.8077948Z           "evidence": []
2026-06-17T06:47:31.8078197Z         },
2026-06-17T06:47:31.8078453Z         "unit": {
2026-06-17T06:47:31.8078727Z           "complete": true,
2026-06-17T06:47:31.8079076Z           "evidence": [
2026-06-17T06:47:31.8079357Z             {
2026-06-17T06:47:31.8079710Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-17T06:47:31.8079971Z               "line": 149
2026-06-17T06:47:31.8080214Z             },
2026-06-17T06:47:31.8080472Z             {
2026-06-17T06:47:31.8080820Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-17T06:47:31.8081071Z               "line": 166
2026-06-17T06:47:31.8081332Z             },
2026-06-17T06:47:31.8081580Z             {
2026-06-17T06:47:31.8081918Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-17T06:47:31.8082194Z               "line": 176
2026-06-17T06:47:31.8082448Z             },
2026-06-17T06:47:31.8082696Z             {
2026-06-17T06:47:31.8083034Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-17T06:47:31.8083292Z               "line": 194
2026-06-17T06:47:31.8083541Z             },
2026-06-17T06:47:31.8083796Z             {
2026-06-17T06:47:31.8084135Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-17T06:47:31.8084410Z               "line": 207
2026-06-17T06:47:31.8084664Z             }
2026-06-17T06:47:31.8084912Z           ]
2026-06-17T06:47:31.8085165Z         }
2026-06-17T06:47:31.8085418Z       }
2026-06-17T06:47:31.8085670Z     },
2026-06-17T06:47:31.8085923Z     {
2026-06-17T06:47:31.8086249Z       "id": "REQ-HAZARD-ECHO-BEFORE-SIGNOFF",
2026-06-17T06:47:31.8086803Z       "title": "Echo-commune fires before INIT_SIGNOFF on orphan teardown (3.3)",
2026-06-17T06:47:31.8087074Z       "requiredStages": [
2026-06-17T06:47:31.8087335Z         "impl",
2026-06-17T06:47:31.8087708Z         "unit"
2026-06-17T06:47:31.8087960Z       ],
2026-06-17T06:47:31.8088218Z       "stages": {
2026-06-17T06:47:31.8088475Z         "doc": {
2026-06-17T06:47:31.8088743Z           "complete": false,
2026-06-17T06:47:31.8089074Z           "evidence": []
2026-06-17T06:47:31.8089325Z         },
2026-06-17T06:47:31.8089582Z         "impl": {
2026-06-17T06:47:31.8089859Z           "complete": true,
2026-06-17T06:47:31.8090117Z           "evidence": [
2026-06-17T06:47:31.8090360Z             {
2026-06-17T06:47:31.8090828Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-17T06:47:31.8091080Z               "line": 441
2026-06-17T06:47:31.8091337Z             },
2026-06-17T06:47:31.8091575Z             {
2026-06-17T06:47:31.8091921Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-17T06:47:31.8092169Z               "line": 26
2026-06-17T06:47:31.8092421Z             }
2026-06-17T06:47:31.8092669Z           ]
2026-06-17T06:47:31.8092917Z         },
2026-06-17T06:47:31.8093167Z         "int": {
2026-06-17T06:47:31.8093438Z           "complete": false,
2026-06-17T06:47:31.8093709Z           "evidence": []
2026-06-17T06:47:31.8093952Z         },
2026-06-17T06:47:31.8094195Z         "unit": {
2026-06-17T06:47:31.8094457Z           "complete": true,
2026-06-17T06:47:31.8094709Z           "evidence": [
2026-06-17T06:47:31.8094962Z             {
2026-06-17T06:47:31.8095300Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-17T06:47:31.8095563Z               "line": 150
2026-06-17T06:47:31.8095820Z             },
2026-06-17T06:47:31.8096059Z             {
2026-06-17T06:47:31.8096403Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-17T06:47:31.8096653Z               "line": 208
2026-06-17T06:47:31.8096894Z             }
2026-06-17T06:47:31.8097143Z           ]
2026-06-17T06:47:31.8097396Z         }
2026-06-17T06:47:31.8097644Z       }
2026-06-17T06:47:31.8097886Z     },
2026-06-17T06:47:31.8098139Z     {
2026-06-17T06:47:31.8098477Z       "id": "REQ-HAZARD-ELEVATED-DAEMON-SPAWN",
2026-06-17T06:47:31.8102220Z       "title": "The daemon always runs unelevated in the invoking user's universe, regardless of which command spawns it: an elevated spawner de-elevates (Windows: UAC linked token via CreateProcessWithTokenW; Linux: drop to SUDO_UID/SUDO_GID + the invoker's HOME) — an elevated daemon's pipes deny unelevated clients (every later spt reads not-running→spawn→bind Access-denied) and a sudo'd daemon roots the user's state universe (5.7)",
2026-06-17T06:47:31.8102510Z       "requiredStages": [
2026-06-17T06:47:31.8102753Z         "doc",
2026-06-17T06:47:31.8103005Z         "impl",
2026-06-17T06:47:31.8103248Z         "unit"
2026-06-17T06:47:31.8103501Z       ],
2026-06-17T06:47:31.8103755Z       "stages": {
2026-06-17T06:47:31.8104017Z         "doc": {
2026-06-17T06:47:31.8104288Z           "complete": true,
2026-06-17T06:47:31.8104550Z           "evidence": [
2026-06-17T06:47:31.8104793Z             {
2026-06-17T06:47:31.8105108Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-17T06:47:31.8105370Z               "line": 214
2026-06-17T06:47:31.8105613Z             }
2026-06-17T06:47:31.8105860Z           ]
2026-06-17T06:47:31.8106113Z         },
2026-06-17T06:47:31.8106371Z         "impl": {
2026-06-17T06:47:31.8106638Z           "complete": true,
2026-06-17T06:47:31.8106896Z           "evidence": [
2026-06-17T06:47:31.8107147Z             {
2026-06-17T06:47:31.8107502Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-17T06:47:31.8107764Z               "line": 56
2026-06-17T06:47:31.8108017Z             },
2026-06-17T06:47:31.8108270Z             {
2026-06-17T06:47:31.8108618Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-17T06:47:31.8108886Z               "line": 548
2026-06-17T06:47:31.8109205Z             },
2026-06-17T06:47:31.8109459Z             {
2026-06-17T06:47:31.8109830Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-17T06:47:31.8110085Z               "line": 36
2026-06-17T06:47:31.8110441Z             },
2026-06-17T06:47:31.8110689Z             {
2026-06-17T06:47:31.8111052Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-17T06:47:31.8111313Z               "line": 59
2026-06-17T06:47:31.8111557Z             },
2026-06-17T06:47:31.8111814Z             {
2026-06-17T06:47:31.8112162Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-17T06:47:31.8112421Z               "line": 83
2026-06-17T06:47:31.8112671Z             },
2026-06-17T06:47:31.8113003Z             {
2026-06-17T06:47:31.8113371Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-17T06:47:31.8113623Z               "line": 140
2026-06-17T06:47:31.8113870Z             },
2026-06-17T06:47:31.8114119Z             {
2026-06-17T06:47:31.8114471Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-17T06:47:31.8114738Z               "line": 159
2026-06-17T06:47:31.8114973Z             },
2026-06-17T06:47:31.8115221Z             {
2026-06-17T06:47:31.8115577Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-17T06:47:31.8115839Z               "line": 384
2026-06-17T06:47:31.8116087Z             },
2026-06-17T06:47:31.8116330Z             {
2026-06-17T06:47:31.8116697Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-17T06:47:31.8116959Z               "line": 526
2026-06-17T06:47:31.8117213Z             },
2026-06-17T06:47:31.8117461Z             {
2026-06-17T06:47:31.8117812Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-17T06:47:31.8118081Z               "line": 572
2026-06-17T06:47:31.8118324Z             },
2026-06-17T06:47:31.8118587Z             {
2026-06-17T06:47:31.8118915Z               "path": "crates/spt/src/elevation.rs",
2026-06-17T06:47:31.8119259Z               "line": 300
2026-06-17T06:47:31.8119517Z             },
2026-06-17T06:47:31.8119770Z             {
2026-06-17T06:47:31.8120080Z               "path": "crates/spt/src/main.rs",
2026-06-17T06:47:31.8120338Z               "line": 41
2026-06-17T06:47:31.8120588Z             }
2026-06-17T06:47:31.8120834Z           ]
2026-06-17T06:47:31.8121092Z         },
2026-06-17T06:47:31.8121345Z         "int": {
2026-06-17T06:47:31.8121622Z           "complete": false,
2026-06-17T06:47:31.8121883Z           "evidence": []
2026-06-17T06:47:31.8122122Z         },
2026-06-17T06:47:31.8122370Z         "unit": {
2026-06-17T06:47:31.8122637Z           "complete": true,
2026-06-17T06:47:31.8122905Z           "evidence": [
2026-06-17T06:47:31.8123145Z             {
2026-06-17T06:47:31.8123500Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-17T06:47:31.8123767Z               "line": 785
2026-06-17T06:47:31.8124035Z             },
2026-06-17T06:47:31.8124292Z             {
2026-06-17T06:47:31.8124655Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-17T06:47:31.8124922Z               "line": 826
2026-06-17T06:47:31.8125176Z             },
2026-06-17T06:47:31.8125423Z             {
2026-06-17T06:47:31.8125791Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-17T06:47:31.8126041Z               "line": 900
2026-06-17T06:47:31.8126298Z             }
2026-06-17T06:47:31.8126543Z           ]
2026-06-17T06:47:31.8126796Z         }
2026-06-17T06:47:31.8127043Z       }
2026-06-17T06:47:31.8127276Z     },
2026-06-17T06:47:31.8127519Z     {
2026-06-17T06:47:31.8127858Z       "id": "REQ-HAZARD-ENVELOPE-CR-LINESAFE",
2026-06-17T06:47:31.8132821Z       "title": "Envelope CR-linesafety (4.1): the line-framed EVENT codec must neutralize raw carriage returns — `event_body_escape` folds CRLF/lone-CR to the codec's representable linebreak (`\\n`→`<br>`) BEFORE framing, so a body carrying `\\r` (Windows `echo`/CRLF text crossing nodes) cannot survive into the single-line envelope and trigger a receiver terminal CR→col0 overwrite that corrupts the frame. Robustness on unrepresentable input, NOT a wire-format change (decoder untouched, amp-last invariant held). Belt-and-suspenders: `spt send`/`ring` also trim stdin (parity with `notify`).",
2026-06-17T06:47:31.8133240Z       "requiredStages": [
2026-06-17T06:47:31.8133484Z         "impl",
2026-06-17T06:47:31.8133748Z         "unit"
2026-06-17T06:47:31.8133994Z       ],
2026-06-17T06:47:31.8134252Z       "stages": {
2026-06-17T06:47:31.8134501Z         "doc": {
2026-06-17T06:47:31.8134767Z           "complete": false,
2026-06-17T06:47:31.8135034Z           "evidence": []
2026-06-17T06:47:31.8135277Z         },
2026-06-17T06:47:31.8135535Z         "impl": {
2026-06-17T06:47:31.8135902Z           "complete": true,
2026-06-17T06:47:31.8136173Z           "evidence": [
2026-06-17T06:47:31.8136427Z             {
2026-06-17T06:47:31.8136798Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-17T06:47:31.8137060Z               "line": 31
2026-06-17T06:47:31.8137308Z             }
2026-06-17T06:47:31.8137550Z           ]
2026-06-17T06:47:31.8137799Z         },
2026-06-17T06:47:31.8138042Z         "int": {
2026-06-17T06:47:31.8138319Z           "complete": false,
2026-06-17T06:47:31.8138586Z           "evidence": []
2026-06-17T06:47:31.8138836Z         },
2026-06-17T06:47:31.8139167Z         "unit": {
2026-06-17T06:47:31.8139449Z           "complete": true,
2026-06-17T06:47:31.8139712Z           "evidence": [
2026-06-17T06:47:31.8139955Z             {
2026-06-17T06:47:31.8140313Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-17T06:47:31.8140566Z               "line": 181
2026-06-17T06:47:31.8140824Z             }
2026-06-17T06:47:31.8141061Z           ]
2026-06-17T06:47:31.8141309Z         }
2026-06-17T06:47:31.8141553Z       }
2026-06-17T06:47:31.8141809Z     },
2026-06-17T06:47:31.8142064Z     {
2026-06-17T06:47:31.8142407Z       "id": "REQ-HAZARD-ENVELOPE-DECODE-ORDER",
2026-06-17T06:47:31.8142861Z       "title": "Envelope decode order, ampersand decoded last (4.1)",
2026-06-17T06:47:31.8143142Z       "requiredStages": [
2026-06-17T06:47:31.8143396Z         "impl",
2026-06-17T06:47:31.8143647Z         "unit"
2026-06-17T06:47:31.8143895Z       ],
2026-06-17T06:47:31.8144148Z       "stages": {
2026-06-17T06:47:31.8144390Z         "doc": {
2026-06-17T06:47:31.8144655Z           "complete": false,
2026-06-17T06:47:31.8144916Z           "evidence": []
2026-06-17T06:47:31.8145165Z         },
2026-06-17T06:47:31.8145413Z         "impl": {
2026-06-17T06:47:31.8145685Z           "complete": true,
2026-06-17T06:47:31.8145953Z           "evidence": [
2026-06-17T06:47:31.8146185Z             {
2026-06-17T06:47:31.8146543Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-17T06:47:31.8146805Z               "line": 49
2026-06-17T06:47:31.8147048Z             },
2026-06-17T06:47:31.8147296Z             {
2026-06-17T06:47:31.8147668Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-17T06:47:31.8147935Z               "line": 81
2026-06-17T06:47:31.8148183Z             }
2026-06-17T06:47:31.8148430Z           ]
2026-06-17T06:47:31.8148679Z         },
2026-06-17T06:47:31.8148936Z         "int": {
2026-06-17T06:47:31.8149307Z           "complete": false,
2026-06-17T06:47:31.8149623Z           "evidence": []
2026-06-17T06:47:31.8149872Z         },
2026-06-17T06:47:31.8150129Z         "unit": {
2026-06-17T06:47:31.8150401Z           "complete": true,
2026-06-17T06:47:31.8150658Z           "evidence": [
2026-06-17T06:47:31.8150911Z             {
2026-06-17T06:47:31.8151259Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-17T06:47:31.8151535Z               "line": 156
2026-06-17T06:47:31.8151789Z             },
2026-06-17T06:47:31.8152038Z             {
2026-06-17T06:47:31.8152398Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-17T06:47:31.8152643Z               "line": 173
2026-06-17T06:47:31.8152891Z             },
2026-06-17T06:47:31.8153139Z             {
2026-06-17T06:47:31.8153496Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-17T06:47:31.8157123Z               "line": 196
2026-06-17T06:47:31.8157419Z             }
2026-06-17T06:47:31.8157679Z           ]
2026-06-17T06:47:31.8157941Z         }
2026-06-17T06:47:31.8158346Z       }
2026-06-17T06:47:31.8158581Z     },
2026-06-17T06:47:31.8158824Z     {
2026-06-17T06:47:31.8159276Z       "id": "REQ-HAZARD-ENVELOPE-PARSER-SAFE",
2026-06-17T06:47:31.8159802Z       "title": "Two-slice envelope parser is panic-free and tolerant (4.2)",
2026-06-17T06:47:31.8160086Z       "requiredStages": [
2026-06-17T06:47:31.8160327Z         "impl",
2026-06-17T06:47:31.8160584Z         "unit"
2026-06-17T06:47:31.8160823Z       ],
2026-06-17T06:47:31.8161071Z       "stages": {
2026-06-17T06:47:31.8161462Z         "doc": {
2026-06-17T06:47:31.8161729Z           "complete": false,
2026-06-17T06:47:31.8161997Z           "evidence": []
2026-06-17T06:47:31.8162240Z         },
2026-06-17T06:47:31.8162491Z         "impl": {
2026-06-17T06:47:31.8162757Z           "complete": true,
2026-06-17T06:47:31.8163023Z           "evidence": [
2026-06-17T06:47:31.8163276Z             {
2026-06-17T06:47:31.8163637Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-17T06:47:31.8163901Z               "line": 120
2026-06-17T06:47:31.8164152Z             }
2026-06-17T06:47:31.8164405Z           ]
2026-06-17T06:47:31.8164643Z         },
2026-06-17T06:47:31.8164892Z         "int": {
2026-06-17T06:47:31.8165169Z           "complete": false,
2026-06-17T06:47:31.8165429Z           "evidence": []
2026-06-17T06:47:31.8165670Z         },
2026-06-17T06:47:31.8165918Z         "unit": {
2026-06-17T06:47:31.8166181Z           "complete": true,
2026-06-17T06:47:31.8166444Z           "evidence": [
2026-06-17T06:47:31.8166695Z             {
2026-06-17T06:47:31.8167058Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-17T06:47:31.8167305Z               "line": 212
2026-06-17T06:47:31.8167553Z             },
2026-06-17T06:47:31.8167787Z             {
2026-06-17T06:47:31.8168149Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-17T06:47:31.8168412Z               "line": 221
2026-06-17T06:47:31.8168664Z             },
2026-06-17T06:47:31.8168906Z             {
2026-06-17T06:47:31.8169341Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-17T06:47:31.8169598Z               "line": 229
2026-06-17T06:47:31.8169832Z             },
2026-06-17T06:47:31.8170084Z             {
2026-06-17T06:47:31.8170432Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-17T06:47:31.8170693Z               "line": 239
2026-06-17T06:47:31.8170939Z             },
2026-06-17T06:47:31.8171177Z             {
2026-06-17T06:47:31.8171526Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-17T06:47:31.8171787Z               "line": 249
2026-06-17T06:47:31.8172041Z             }
2026-06-17T06:47:31.8172279Z           ]
2026-06-17T06:47:31.8172533Z         }
2026-06-17T06:47:31.8172780Z       }
2026-06-17T06:47:31.8173019Z     },
2026-06-17T06:47:31.8173252Z     {
2026-06-17T06:47:31.8173565Z       "id": "REQ-HAZARD-EPHEMERAL-CLEANUP",
2026-06-17T06:47:31.8174035Z       "title": "Ephemeral perch cleanup on every ring exit path (3.1)",
2026-06-17T06:47:31.8174302Z       "requiredStages": [
2026-06-17T06:47:31.8174561Z         "impl",
2026-06-17T06:47:31.8174818Z         "unit"
2026-06-17T06:47:31.8175057Z       ],
2026-06-17T06:47:31.8175309Z       "stages": {
2026-06-17T06:47:31.8175551Z         "doc": {
2026-06-17T06:47:31.8175828Z           "complete": false,
2026-06-17T06:47:31.8176085Z           "evidence": []
2026-06-17T06:47:31.8176321Z         },
2026-06-17T06:47:31.8176578Z         "impl": {
2026-06-17T06:47:31.8176840Z           "complete": true,
2026-06-17T06:47:31.8177108Z           "evidence": [
2026-06-17T06:47:31.8177347Z             {
2026-06-17T06:47:31.8177671Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-17T06:47:31.8177928Z               "line": 14
2026-06-17T06:47:31.8178181Z             },
2026-06-17T06:47:31.8178433Z             {
2026-06-17T06:47:31.8178747Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-17T06:47:31.8179090Z               "line": 63
2026-06-17T06:47:31.8179339Z             }
2026-06-17T06:47:31.8179591Z           ]
2026-06-17T06:47:31.8179944Z         },
2026-06-17T06:47:31.8180207Z         "int": {
2026-06-17T06:47:31.8180478Z           "complete": false,
2026-06-17T06:47:31.8180740Z           "evidence": []
2026-06-17T06:47:31.8180992Z         },
2026-06-17T06:47:31.8181239Z         "unit": {
2026-06-17T06:47:31.8181504Z           "complete": true,
2026-06-17T06:47:31.8181766Z           "evidence": [
2026-06-17T06:47:31.8182014Z             {
2026-06-17T06:47:31.8182343Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-17T06:47:31.8182701Z               "line": 164
2026-06-17T06:47:31.8182949Z             },
2026-06-17T06:47:31.8183188Z             {
2026-06-17T06:47:31.8183521Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-17T06:47:31.8183780Z               "line": 198
2026-06-17T06:47:31.8184035Z             },
2026-06-17T06:47:31.8184285Z             {
2026-06-17T06:47:31.8184605Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-17T06:47:31.8184862Z               "line": 220
2026-06-17T06:47:31.8185116Z             }
2026-06-17T06:47:31.8185364Z           ]
2026-06-17T06:47:31.8185607Z         }
2026-06-17T06:47:31.8185849Z       }
2026-06-17T06:47:31.8186092Z     },
2026-06-17T06:47:31.8186337Z     {
2026-06-17T06:47:31.8186635Z       "id": "REQ-HAZARD-EPOCH-RESET",
2026-06-17T06:47:31.8190462Z       "title": "Advertisement-epoch reset strands a node: peers' higher last-seen epoch drops the reset node's fresh advertisements as Stale until the counter outruns history. Common case (full reinstall/re-pair) is mitigated by REQ-SUBNET-7's ceremony eviction (peer-side epoch memory dies with the deleted row — acceptance-verified); the residual narrow slice (epoch file lost, identity kept) is documented, guard deferred to a field hit (4.11)",
2026-06-17T06:47:31.8190762Z       "requiredStages": [],
2026-06-17T06:47:31.8191009Z       "stages": {
2026-06-17T06:47:31.8191257Z         "doc": {
2026-06-17T06:47:31.8191533Z           "complete": true,
2026-06-17T06:47:31.8191789Z           "evidence": [
2026-06-17T06:47:31.8192051Z             {
2026-06-17T06:47:31.8192360Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-17T06:47:31.8192622Z               "line": 165
2026-06-17T06:47:31.8192875Z             }
2026-06-17T06:47:31.8193114Z           ]
2026-06-17T06:47:31.8193371Z         },
2026-06-17T06:47:31.8193615Z         "impl": {
2026-06-17T06:47:31.8193886Z           "complete": false,
2026-06-17T06:47:31.8194144Z           "evidence": []
2026-06-17T06:47:31.8194386Z         },
2026-06-17T06:47:31.8194643Z         "int": {
2026-06-17T06:47:31.8194903Z           "complete": false,
2026-06-17T06:47:31.8195170Z           "evidence": []
2026-06-17T06:47:31.8195408Z         },
2026-06-17T06:47:31.8195661Z         "unit": {
2026-06-17T06:47:31.8195934Z           "complete": false,
2026-06-17T06:47:31.8196187Z           "evidence": []
2026-06-17T06:47:31.8196438Z         }
2026-06-17T06:47:31.8196681Z       }
2026-06-17T06:47:31.8196921Z     },
2026-06-17T06:47:31.8197166Z     {
2026-06-17T06:47:31.8197513Z       "id": "REQ-HAZARD-EVENTPART-REASSEMBLY",
2026-06-17T06:47:31.8198143Z       "title": "EVENT-PART split/reassembly is byte-exact; orphan parts dropped silently",
2026-06-17T06:47:31.8198424Z       "requiredStages": [
2026-06-17T06:47:31.8198676Z         "impl",
2026-06-17T06:47:31.8198929Z         "unit"
2026-06-17T06:47:31.8199253Z       ],
2026-06-17T06:47:31.8199505Z       "stages": {
2026-06-17T06:47:31.8199760Z         "doc": {
2026-06-17T06:47:31.8200024Z           "complete": false,
2026-06-17T06:47:31.8200300Z           "evidence": []
2026-06-17T06:47:31.8200548Z         },
2026-06-17T06:47:31.8200788Z         "impl": {
2026-06-17T06:47:31.8201064Z           "complete": true,
2026-06-17T06:47:31.8201322Z           "evidence": [
2026-06-17T06:47:31.8201564Z             {
2026-06-17T06:47:31.8201903Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-17T06:47:31.8202164Z               "line": 76
2026-06-17T06:47:31.8202419Z             },
2026-06-17T06:47:31.8202659Z             {
2026-06-17T06:47:31.8203091Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-17T06:47:31.8203340Z               "line": 167
2026-06-17T06:47:31.8203588Z             },
2026-06-17T06:47:31.8203831Z             {
2026-06-17T06:47:31.8204170Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-17T06:47:31.8204436Z               "line": 233
2026-06-17T06:47:31.8204674Z             },
2026-06-17T06:47:31.8204918Z             {
2026-06-17T06:47:31.8205245Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-17T06:47:31.8205606Z               "line": 272
2026-06-17T06:47:31.8205850Z             }
2026-06-17T06:47:31.8206088Z           ]
2026-06-17T06:47:31.8206330Z         },
2026-06-17T06:47:31.8206574Z         "int": {
2026-06-17T06:47:31.8206841Z           "complete": false,
2026-06-17T06:47:31.8207095Z           "evidence": []
2026-06-17T06:47:31.8207342Z         },
2026-06-17T06:47:31.8207593Z         "unit": {
2026-06-17T06:47:31.8207854Z           "complete": true,
2026-06-17T06:47:31.8208126Z           "evidence": [
2026-06-17T06:47:31.8208374Z             {
2026-06-17T06:47:31.8208717Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-17T06:47:31.8209032Z               "line": 321
2026-06-17T06:47:31.8209289Z             },
2026-06-17T06:47:31.8209541Z             {
2026-06-17T06:47:31.8209870Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-17T06:47:31.8210133Z               "line": 329
2026-06-17T06:47:31.8210385Z             },
2026-06-17T06:47:31.8210642Z             {
2026-06-17T06:47:31.8210967Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-17T06:47:31.8211229Z               "line": 356
2026-06-17T06:47:31.8211476Z             },
2026-06-17T06:47:31.8211715Z             {
2026-06-17T06:47:31.8212057Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-17T06:47:31.8212315Z               "line": 395
2026-06-17T06:47:31.8212560Z             },
2026-06-17T06:47:31.8212801Z             {
2026-06-17T06:47:31.8213137Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-17T06:47:31.8213398Z               "line": 406
2026-06-17T06:47:31.8213642Z             },
2026-06-17T06:47:31.8213876Z             {
2026-06-17T06:47:31.8214210Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-17T06:47:31.8214473Z               "line": 418
2026-06-17T06:47:31.8214711Z             },
2026-06-17T06:47:31.8214963Z             {
2026-06-17T06:47:31.8215297Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-17T06:47:31.8215558Z               "line": 442
2026-06-17T06:47:31.8215809Z             }
2026-06-17T06:47:31.8216057Z           ]
2026-06-17T06:47:31.8216309Z         }
2026-06-17T06:47:31.8216543Z       }
2026-06-17T06:47:31.8216791Z     },
2026-06-17T06:47:31.8217034Z     {
2026-06-17T06:47:31.8217326Z       "id": "REQ-HAZARD-GEN-START-NOW",
2026-06-17T06:47:31.8217744Z       "title": "gen_start = now() on cold-start and handoff (2.4)",
2026-06-17T06:47:31.8218003Z       "requiredStages": [
2026-06-17T06:47:31.8218268Z         "impl",
2026-06-17T06:47:31.8218508Z         "int"
2026-06-17T06:47:31.8218757Z       ],
2026-06-17T06:47:31.8219095Z       "stages": {
2026-06-17T06:47:31.8219343Z         "doc": {
2026-06-17T06:47:31.8219635Z           "complete": false,
2026-06-17T06:47:31.8219888Z           "evidence": []
2026-06-17T06:47:31.8220140Z         },
2026-06-17T06:47:31.8220388Z         "impl": {
2026-06-17T06:47:31.8220654Z           "complete": true,
2026-06-17T06:47:31.8220917Z           "evidence": [
2026-06-17T06:47:31.8221168Z             {
2026-06-17T06:47:31.8221518Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-17T06:47:31.8221775Z               "line": 22
2026-06-17T06:47:31.8222026Z             }
2026-06-17T06:47:31.8222275Z           ]
2026-06-17T06:47:31.8222514Z         },
2026-06-17T06:47:31.8222762Z         "int": {
2026-06-17T06:47:31.8223028Z           "complete": true,
2026-06-17T06:47:31.8223294Z           "evidence": [
2026-06-17T06:47:31.8223535Z             {
2026-06-17T06:47:31.8224012Z               "path": "crates/spt-daemon/tests/handoff.rs",
2026-06-17T06:47:31.8224274Z               "line": 18
2026-06-17T06:47:31.8224526Z             }
2026-06-17T06:47:31.8224775Z           ]
2026-06-17T06:47:31.8225019Z         },
2026-06-17T06:47:31.8225276Z         "unit": {
2026-06-17T06:47:31.8225547Z           "complete": false,
2026-06-17T06:47:31.8225800Z           "evidence": []
2026-06-17T06:47:31.8226043Z         }
2026-06-17T06:47:31.8226290Z       }
2026-06-17T06:47:31.8226636Z     },
2026-06-17T06:47:31.8226884Z     {
2026-06-17T06:47:31.8227213Z       "id": "REQ-HAZARD-GRACE-BEFORE-SIGNOFF",
2026-06-17T06:47:31.8227756Z       "title": "Grace-period wait completes before composing INIT_SIGNOFF (1.1)",
2026-06-17T06:47:31.8228037Z       "requiredStages": [
2026-06-17T06:47:31.8228281Z         "impl",
2026-06-17T06:47:31.8228535Z         "unit"
2026-06-17T06:47:31.8228785Z       ],
2026-06-17T06:47:31.8229121Z       "stages": {
2026-06-17T06:47:31.8229369Z         "doc": {
2026-06-17T06:47:31.8229650Z           "complete": false,
2026-06-17T06:47:31.8229913Z           "evidence": []
2026-06-17T06:47:31.8230152Z         },
2026-06-17T06:47:31.8230409Z         "impl": {
2026-06-17T06:47:31.8230666Z           "complete": true,
2026-06-17T06:47:31.8230919Z           "evidence": [
2026-06-17T06:47:31.8231162Z             {
2026-06-17T06:47:31.8231524Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-17T06:47:31.8231777Z               "line": 440
2026-06-17T06:47:31.8232025Z             },
2026-06-17T06:47:31.8232276Z             {
2026-06-17T06:47:31.8232616Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-17T06:47:31.8232859Z               "line": 27
2026-06-17T06:47:31.8233102Z             }
2026-06-17T06:47:31.8233346Z           ]
2026-06-17T06:47:31.8233584Z         },
2026-06-17T06:47:31.8233826Z         "int": {
2026-06-17T06:47:31.8234091Z           "complete": false,
2026-06-17T06:47:31.8234343Z           "evidence": []
2026-06-17T06:47:31.8234596Z         },
2026-06-17T06:47:31.8234853Z         "unit": {
2026-06-17T06:47:31.8235115Z           "complete": true,
2026-06-17T06:47:31.8235374Z           "evidence": [
2026-06-17T06:47:31.8235617Z             {
2026-06-17T06:47:31.8235974Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-17T06:47:31.8236256Z               "line": 965
2026-06-17T06:47:31.8236504Z             },
2026-06-17T06:47:31.8236745Z             {
2026-06-17T06:47:31.8237071Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-17T06:47:31.8237338Z               "line": 181
2026-06-17T06:47:31.8237583Z             }
2026-06-17T06:47:31.8237836Z           ]
2026-06-17T06:47:31.8238073Z         }
2026-06-17T06:47:31.8238307Z       }
2026-06-17T06:47:31.8238545Z     },
2026-06-17T06:47:31.8238780Z     {
2026-06-17T06:47:31.8239193Z       "id": "REQ-HAZARD-HANDOFF-ARGV-COMPAT",
2026-06-17T06:47:31.8239662Z       "title": "Broker/brain IPC + handoff argv version-tolerant (2.3)",
2026-06-17T06:47:31.8239948Z       "requiredStages": [
2026-06-17T06:47:31.8240196Z         "impl",
2026-06-17T06:47:31.8240450Z         "unit"
2026-06-17T06:47:31.8240698Z       ],
2026-06-17T06:47:31.8240945Z       "stages": {
2026-06-17T06:47:31.8241193Z         "doc": {
2026-06-17T06:47:31.8241460Z           "complete": false,
2026-06-17T06:47:31.8241736Z           "evidence": []
2026-06-17T06:47:31.8241986Z         },
2026-06-17T06:47:31.8242236Z         "impl": {
2026-06-17T06:47:31.8242512Z           "complete": true,
2026-06-17T06:47:31.8242765Z           "evidence": [
2026-06-17T06:47:31.8243009Z             {
2026-06-17T06:47:31.8243366Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T06:47:31.8243625Z               "line": 73
2026-06-17T06:47:31.8243864Z             },
2026-06-17T06:47:31.8244105Z             {
2026-06-17T06:47:31.8244466Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T06:47:31.8244727Z               "line": 955
2026-06-17T06:47:31.8244980Z             },
2026-06-17T06:47:31.8245332Z             {
2026-06-17T06:47:31.8245661Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-17T06:47:31.8245924Z               "line": 20
2026-06-17T06:47:31.8246172Z             },
2026-06-17T06:47:31.8246421Z             {
2026-06-17T06:47:31.8246759Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-17T06:47:31.8247026Z               "line": 100
2026-06-17T06:47:31.8247267Z             },
2026-06-17T06:47:31.8247523Z             {
2026-06-17T06:47:31.8247979Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-17T06:47:31.8248237Z               "line": 555
2026-06-17T06:47:31.8248486Z             },
2026-06-17T06:47:31.8248725Z             {
2026-06-17T06:47:31.8249148Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-17T06:47:31.8249401Z               "line": 68
2026-06-17T06:47:31.8249650Z             },
2026-06-17T06:47:31.8249900Z             {
2026-06-17T06:47:31.8250246Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-17T06:47:31.8250513Z               "line": 80
2026-06-17T06:47:31.8250752Z             }
2026-06-17T06:47:31.8251010Z           ]
2026-06-17T06:47:31.8251254Z         },
2026-06-17T06:47:31.8251500Z         "int": {
2026-06-17T06:47:31.8251772Z           "complete": true,
2026-06-17T06:47:31.8252034Z           "evidence": [
2026-06-17T06:47:31.8252282Z             {
2026-06-17T06:47:31.8252616Z               "path": "crates/spt/tests/n1_pairing.rs",
2026-06-17T06:47:31.8252873Z               "line": 44
2026-06-17T06:47:31.8253125Z             }
2026-06-17T06:47:31.8253368Z           ]
2026-06-17T06:47:31.8253608Z         },
2026-06-17T06:47:31.8253865Z         "unit": {
2026-06-17T06:47:31.8254133Z           "complete": true,
2026-06-17T06:47:31.8254390Z           "evidence": [
2026-06-17T06:47:31.8254637Z             {
2026-06-17T06:47:31.8254984Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T06:47:31.8255244Z               "line": 1155
2026-06-17T06:47:31.8255493Z             },
2026-06-17T06:47:31.8255735Z             {
2026-06-17T06:47:31.8256089Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T06:47:31.8256351Z               "line": 1171
2026-06-17T06:47:31.8256598Z             },
2026-06-17T06:47:31.8256846Z             {
2026-06-17T06:47:31.8257199Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-17T06:47:31.8257465Z               "line": 1488
2026-06-17T06:47:31.8257710Z             },
2026-06-17T06:47:31.8257961Z             {
2026-06-17T06:47:31.8258292Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-17T06:47:31.8258559Z               "line": 152
2026-06-17T06:47:31.8258807Z             },
2026-06-17T06:47:31.8259136Z             {
2026-06-17T06:47:31.8259470Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-17T06:47:31.8259732Z               "line": 175
2026-06-17T06:47:31.8259985Z             },
2026-06-17T06:47:31.8260244Z             {
2026-06-17T06:47:31.8260580Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-17T06:47:31.8260845Z               "line": 186
2026-06-17T06:47:31.8261087Z             },
2026-06-17T06:47:31.8261330Z             {
2026-06-17T06:47:31.8261659Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-17T06:47:31.8261917Z               "line": 202
2026-06-17T06:47:31.8262162Z             },
2026-06-17T06:47:31.8262419Z             {
2026-06-17T06:47:31.8262763Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-17T06:47:31.8263030Z               "line": 216
2026-06-17T06:47:31.8263276Z             },
2026-06-17T06:47:31.8263514Z             {
2026-06-17T06:47:31.8263876Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-17T06:47:31.8264134Z               "line": 137
2026-06-17T06:47:31.8264383Z             },
2026-06-17T06:47:31.8264640Z             {
2026-06-17T06:47:31.8264940Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.8265211Z               "line": 7455
2026-06-17T06:47:31.8265572Z             },
2026-06-17T06:47:31.8265814Z             {
2026-06-17T06:47:31.8266143Z               "path": "crates/spt/tests/n1_compat.rs",
2026-06-17T06:47:31.8266391Z               "line": 30
2026-06-17T06:47:31.8266644Z             },
2026-06-17T06:47:31.8266887Z             {
2026-06-17T06:47:31.8267221Z               "path": "crates/spt/tests/n1_compat.rs",
2026-06-17T06:47:31.8267482Z               "line": 73
2026-06-17T06:47:31.8267721Z             }
2026-06-17T06:47:31.8268069Z           ]
2026-06-17T06:47:31.8268321Z         }
2026-06-17T06:47:31.8268559Z       }
2026-06-17T06:47:31.8268800Z     },
2026-06-17T06:47:31.8269114Z     {
2026-06-17T06:47:31.8269395Z       "id": "REQ-HAZARD-ID-CHARSET",
2026-06-17T06:47:31.8270136Z       "title": "Addressable-id charset reserves :/@ delimiters; validated at every creation seam (4.6)",
2026-06-17T06:47:31.8270413Z       "requiredStages": [
2026-06-17T06:47:31.8270674Z         "impl",
2026-06-17T06:47:31.8270930Z         "unit"
2026-06-17T06:47:31.8271168Z       ],
2026-06-17T06:47:31.8271424Z       "stages": {
2026-06-17T06:47:31.8271676Z         "doc": {
2026-06-17T06:47:31.8271948Z           "complete": true,
2026-06-17T06:47:31.8272210Z           "evidence": [
2026-06-17T06:47:31.8272463Z             {
2026-06-17T06:47:31.8272778Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-17T06:47:31.8273037Z               "line": 133
2026-06-17T06:47:31.8273280Z             }
2026-06-17T06:47:31.8273609Z           ]
2026-06-17T06:47:31.8273969Z         },
2026-06-17T06:47:31.8274221Z         "impl": {
2026-06-17T06:47:31.8274498Z           "complete": true,
2026-06-17T06:47:31.8274760Z           "evidence": [
2026-06-17T06:47:31.8275009Z             {
2026-06-17T06:47:31.8275337Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-17T06:47:31.8275596Z               "line": 65
2026-06-17T06:47:31.8275844Z             },
2026-06-17T06:47:31.8276080Z             {
2026-06-17T06:47:31.8276402Z               "path": "crates/spt-proto/src/id.rs",
2026-06-17T06:47:31.8276665Z               "line": 17
2026-06-17T06:47:31.8276904Z             },
2026-06-17T06:47:31.8277152Z             {
2026-06-17T06:47:31.8277504Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-17T06:47:31.8277766Z               "line": 146
2026-06-17T06:47:31.8278019Z             },
2026-06-17T06:47:31.8278262Z             {
2026-06-17T06:47:31.8278595Z               "path": "crates/spt/src/api/startup.rs",
2026-06-17T06:47:31.8278853Z               "line": 241
2026-06-17T06:47:31.8279189Z             },
2026-06-17T06:47:31.8279447Z             {
2026-06-17T06:47:31.8279785Z               "path": "crates/spt/src/api/startup.rs",
2026-06-17T06:47:31.8280043Z               "line": 340
2026-06-17T06:47:31.8280295Z             },
2026-06-17T06:47:31.8280543Z             {
2026-06-17T06:47:31.8280867Z               "path": "crates/spt/src/api/worker.rs",
2026-06-17T06:47:31.8281124Z               "line": 32
2026-06-17T06:47:31.8281368Z             },
2026-06-17T06:47:31.8281619Z             {
2026-06-17T06:47:31.8281927Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.8282189Z               "line": 1232
2026-06-17T06:47:31.8282447Z             },
2026-06-17T06:47:31.8282690Z             {
2026-06-17T06:47:31.8282995Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.8283253Z               "line": 5833
2026-06-17T06:47:31.8283505Z             },
2026-06-17T06:47:31.8283762Z             {
2026-06-17T06:47:31.8284063Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.8284334Z               "line": 6115
2026-06-17T06:47:31.8284577Z             }
2026-06-17T06:47:31.8284820Z           ]
2026-06-17T06:47:31.8285063Z         },
2026-06-17T06:47:31.8285316Z         "int": {
2026-06-17T06:47:31.8285588Z           "complete": false,
2026-06-17T06:47:31.8285846Z           "evidence": []
2026-06-17T06:47:31.8286089Z         },
2026-06-17T06:47:31.8286327Z         "unit": {
2026-06-17T06:47:31.8286593Z           "complete": true,
2026-06-17T06:47:31.8286967Z           "evidence": [
2026-06-17T06:47:31.8287220Z             {
2026-06-17T06:47:31.8287539Z               "path": "crates/spt-proto/src/id.rs",
2026-06-17T06:47:31.8287797Z               "line": 94
2026-06-17T06:47:31.8288051Z             },
2026-06-17T06:47:31.8288288Z             {
2026-06-17T06:47:31.8288607Z               "path": "crates/spt-proto/src/id.rs",
2026-06-17T06:47:31.8288865Z               "line": 111
2026-06-17T06:47:31.8289170Z             },
2026-06-17T06:47:31.8289550Z             {
2026-06-17T06:47:31.8289877Z               "path": "crates/spt-proto/src/id.rs",
2026-06-17T06:47:31.8290139Z               "line": 124
2026-06-17T06:47:31.8290383Z             },
2026-06-17T06:47:31.8290626Z             {
2026-06-17T06:47:31.8290941Z               "path": "crates/spt-proto/src/id.rs",
2026-06-17T06:47:31.8291198Z               "line": 134
2026-06-17T06:47:31.8291455Z             },
2026-06-17T06:47:31.8291703Z             {
2026-06-17T06:47:31.8292032Z               "path": "crates/spt-proto/src/id.rs",
2026-06-17T06:47:31.8292288Z               "line": 144
2026-06-17T06:47:31.8292539Z             },
2026-06-17T06:47:31.8292787Z             {
2026-06-17T06:47:31.8293111Z               "path": "crates/spt-proto/src/id.rs",
2026-06-17T06:47:31.8293378Z               "line": 156
2026-06-17T06:47:31.8293617Z             },
2026-06-17T06:47:31.8293856Z             {
2026-06-17T06:47:31.8294227Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-17T06:47:31.8294495Z               "line": 746
2026-06-17T06:47:31.8294744Z             },
2026-06-17T06:47:31.8294994Z             {
2026-06-17T06:47:31.8295356Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-17T06:47:31.8295609Z               "line": 309
2026-06-17T06:47:31.8295858Z             }
2026-06-17T06:47:31.8296110Z           ]
2026-06-17T06:47:31.8296364Z         }
2026-06-17T06:47:31.8296601Z       }
2026-06-17T06:47:31.8296844Z     },
2026-06-17T06:47:31.8297092Z     {
2026-06-17T06:47:31.8297396Z       "id": "REQ-HAZARD-INBOX-NO-DOUBLE",
2026-06-17T06:47:31.8297785Z       "title": "No double-delivery via legacy inbox (4.5)",
2026-06-17T06:47:31.8298062Z       "requiredStages": [
2026-06-17T06:47:31.8298320Z         "impl",
2026-06-17T06:47:31.8298558Z         "unit"
2026-06-17T06:47:31.8298814Z       ],
2026-06-17T06:47:31.8299149Z       "stages": {
2026-06-17T06:47:31.8299401Z         "doc": {
2026-06-17T06:47:31.8299692Z           "complete": false,
2026-06-17T06:47:31.8299955Z           "evidence": []
2026-06-17T06:47:31.8300206Z         },
2026-06-17T06:47:31.8300456Z         "impl": {
2026-06-17T06:47:31.8300728Z           "complete": true,
2026-06-17T06:47:31.8300990Z           "evidence": [
2026-06-17T06:47:31.8301229Z             {
2026-06-17T06:47:31.8301572Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-17T06:47:31.8301831Z               "line": 128
2026-06-17T06:47:31.8302074Z             }
2026-06-17T06:47:31.8302312Z           ]
2026-06-17T06:47:31.8302559Z         },
2026-06-17T06:47:31.8302806Z         "int": {
2026-06-17T06:47:31.8303076Z           "complete": false,
2026-06-17T06:47:31.8303352Z           "evidence": []
2026-06-17T06:47:31.8303614Z         },
2026-06-17T06:47:31.8303886Z         "unit": {
2026-06-17T06:47:31.8304182Z           "complete": true,
2026-06-17T06:47:31.8304459Z           "evidence": [
2026-06-17T06:47:31.8304740Z             {
2026-06-17T06:47:31.8305093Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-17T06:47:31.8305380Z               "line": 205
2026-06-17T06:47:31.8305649Z             }
2026-06-17T06:47:31.8305911Z           ]
2026-06-17T06:47:31.8306183Z         }
2026-06-17T06:47:31.8306455Z       }
2026-06-17T06:47:31.8306712Z     },
2026-06-17T06:47:31.8306976Z     {
2026-06-17T06:47:31.8307295Z       "id": "REQ-HAZARD-INFO-JSON-TORN-READ",
2026-06-17T06:47:31.8307723Z       "title": "State-file reads tolerate concurrent writes (1.2)",
2026-06-17T06:47:31.8308007Z       "requiredStages": [
2026-06-17T06:47:31.8308354Z         "impl",
2026-06-17T06:47:31.8308607Z         "unit"
2026-06-17T06:47:31.8308861Z       ],
2026-06-17T06:47:31.8309190Z       "stages": {
2026-06-17T06:47:31.8309442Z         "doc": {
2026-06-17T06:47:31.8309704Z           "complete": false,
2026-06-17T06:47:31.8309971Z           "evidence": []
2026-06-17T06:47:31.8310219Z         },
2026-06-17T06:47:31.8310468Z         "impl": {
2026-06-17T06:47:31.8310747Z           "complete": true,
2026-06-17T06:47:31.8311001Z           "evidence": [
2026-06-17T06:47:31.8311355Z             {
2026-06-17T06:47:31.8311689Z               "path": "crates/spt-store/src/info.rs",
2026-06-17T06:47:31.8311960Z               "line": 331
2026-06-17T06:47:31.8312208Z             },
2026-06-17T06:47:31.8312456Z             {
2026-06-17T06:47:31.8312785Z               "path": "crates/spt-store/src/info.rs",
2026-06-17T06:47:31.8313039Z               "line": 342
2026-06-17T06:47:31.8313290Z             },
2026-06-17T06:47:31.8313535Z             {
2026-06-17T06:47:31.8313873Z               "path": "crates/spt-store/src/info.rs",
2026-06-17T06:47:31.8314136Z               "line": 360
2026-06-17T06:47:31.8314394Z             }
2026-06-17T06:47:31.8314638Z           ]
2026-06-17T06:47:31.8314881Z         },
2026-06-17T06:47:31.8315138Z         "int": {
2026-06-17T06:47:31.8315395Z           "complete": false,
2026-06-17T06:47:31.8315667Z           "evidence": []
2026-06-17T06:47:31.8315907Z         },
2026-06-17T06:47:31.8316147Z         "unit": {
2026-06-17T06:47:31.8316433Z           "complete": true,
2026-06-17T06:47:31.8316691Z           "evidence": [
2026-06-17T06:47:31.8316930Z             {
2026-06-17T06:47:31.8317259Z               "path": "crates/spt-store/src/info.rs",
2026-06-17T06:47:31.8317531Z               "line": 384
2026-06-17T06:47:31.8317775Z             },
2026-06-17T06:47:31.8318026Z             {
2026-06-17T06:47:31.8318359Z               "path": "crates/spt-store/src/info.rs",
2026-06-17T06:47:31.8318614Z               "line": 405
2026-06-17T06:47:31.8318859Z             },
2026-06-17T06:47:31.8319172Z             {
2026-06-17T06:47:31.8319501Z               "path": "crates/spt-store/src/info.rs",
2026-06-17T06:47:31.8319764Z               "line": 754
2026-06-17T06:47:31.8320017Z             },
2026-06-17T06:47:31.8320269Z             {
2026-06-17T06:47:31.8320598Z               "path": "crates/spt-store/src/info.rs",
2026-06-17T06:47:31.8320860Z               "line": 765
2026-06-17T06:47:31.8321099Z             },
2026-06-17T06:47:31.8321393Z             {
2026-06-17T06:47:31.8321716Z               "path": "crates/spt-store/src/info.rs",
2026-06-17T06:47:31.8321983Z               "line": 778
2026-06-17T06:47:31.8322225Z             }
2026-06-17T06:47:31.8322473Z           ]
2026-06-17T06:47:31.8322716Z         }
2026-06-17T06:47:31.8322961Z       }
2026-06-17T06:47:31.8323204Z     },
2026-06-17T06:47:31.8323441Z     {
2026-06-17T06:47:31.8323917Z       "id": "REQ-HAZARD-INSTANT-UNDERFLOW",
2026-06-17T06:47:31.8325669Z       "title": "Scheduling never subtracts a Duration from Instant::now() (underflow-panics on a host booted more recently than the offset); 'due now / never run' is Option<Instant>=None gated on forward duration_since only (5.9)",
2026-06-17T06:47:31.8325951Z       "requiredStages": [
2026-06-17T06:47:31.8326203Z         "impl",
2026-06-17T06:47:31.8326443Z         "unit"
2026-06-17T06:47:31.8326693Z       ],
2026-06-17T06:47:31.8326951Z       "stages": {
2026-06-17T06:47:31.8327190Z         "doc": {
2026-06-17T06:47:31.8327466Z           "complete": false,
2026-06-17T06:47:31.8327724Z           "evidence": []
2026-06-17T06:47:31.8327971Z         },
2026-06-17T06:47:31.8328224Z         "impl": {
2026-06-17T06:47:31.8328486Z           "complete": true,
2026-06-17T06:47:31.8328749Z           "evidence": [
2026-06-17T06:47:31.8329053Z             {
2026-06-17T06:47:31.8329404Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-17T06:47:31.8329695Z               "line": 759
2026-06-17T06:47:31.8329948Z             }
2026-06-17T06:47:31.8330353Z           ]
2026-06-17T06:47:31.8330596Z         },
2026-06-17T06:47:31.8330838Z         "int": {
2026-06-17T06:47:31.8331115Z           "complete": false,
2026-06-17T06:47:31.8331372Z           "evidence": []
2026-06-17T06:47:31.8331617Z         },
2026-06-17T06:47:31.8331872Z         "unit": {
2026-06-17T06:47:31.8332141Z           "complete": true,
2026-06-17T06:47:31.8332394Z           "evidence": [
2026-06-17T06:47:31.8332648Z             {
2026-06-17T06:47:31.8332995Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-17T06:47:31.8333352Z               "line": 873
2026-06-17T06:47:31.8333596Z             }
2026-06-17T06:47:31.8333845Z           ]
2026-06-17T06:47:31.8334079Z         }
2026-06-17T06:47:31.8334329Z       }
2026-06-17T06:47:31.8334566Z     },
2026-06-17T06:47:31.8334809Z     {
2026-06-17T06:47:31.8335128Z       "id": "REQ-HAZARD-LIVEHOST-BOOT-RACE",
2026-06-17T06:47:31.8345197Z       "title": "The brain's daemon-hosted Psyche lifecycle surfaces a host-FAILURE on the live perch (harness-diagnosable) and runs net-INDEPENDENTLY. When reconcile_once→host_one→spawn_psyche fails for a state=live_agent+status=online endpoint (e.g. the adapter's psyche binary absent from its install dir, REQ-INSTALL-11), the failure MUST be written to the perch info.json as a CURRENT-STATE field (reason + ts + attempt count; overwritten each 5s retry, CLEARED on successful host) and surfaced by `spt endpoint list`/status — never left as an eprintln on the brain's invisible stderr where a harness reading only perch state is blind. status=online stays authoritative (agent reachable; only the Psyche is missing — brain-restart rehydrate legitimately has online-without-Psyche windows), so this is a SEPARATE psyche-host-health field, never a status de-stamp. Net-independence is a locked-in invariant: spawn_live_host (brainproc.rs:230) reaches the reconcile and hosts the Psyche on a net-less/unpaired/peer-pump-STALLED node, proven by a REAL detached-daemon E2E (real broker→brain-child, real api seed+listen, real install-dir psyche binary). spt-core SURFACES the failure; the adapter owns fixing its packaging.",
2026-06-17T06:47:31.8345506Z       "requiredStages": [
2026-06-17T06:47:31.8345761Z         "impl",
2026-06-17T06:47:31.8346018Z         "unit",
2026-06-17T06:47:31.8346266Z         "int"
2026-06-17T06:47:31.8346513Z       ],
2026-06-17T06:47:31.8346756Z       "stages": {
2026-06-17T06:47:31.8347014Z         "doc": {
2026-06-17T06:47:31.8347273Z           "complete": false,
2026-06-17T06:47:31.8347549Z           "evidence": []
2026-06-17T06:47:31.8347794Z         },
2026-06-17T06:47:31.8348043Z         "impl": {
2026-06-17T06:47:31.8348310Z           "complete": true,
2026-06-17T06:47:31.8348572Z           "evidence": [
2026-06-17T06:47:31.8348830Z             {
2026-06-17T06:47:31.8349258Z               "path": "crates/spt-daemon/src/livehost.rs",
2026-06-17T06:47:31.8349540Z               "line": 351
2026-06-17T06:47:31.8349794Z             },
2026-06-17T06:47:31.8350039Z             {
2026-06-17T06:47:31.8353730Z               "path": "crates/spt-store/src/info.rs",
2026-06-17T06:47:31.8354045Z               "line": 307
2026-06-17T06:47:31.8354297Z             },
2026-06-17T06:47:31.8354540Z             {
2026-06-17T06:47:31.8354864Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.8355131Z               "line": 1605
2026-06-17T06:47:31.8355379Z             },
2026-06-17T06:47:31.8355630Z             {
2026-06-17T06:47:31.8355939Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.8356216Z               "line": 2915
2026-06-17T06:47:31.8356462Z             }
2026-06-17T06:47:31.8356715Z           ]
2026-06-17T06:47:31.8356963Z         },
2026-06-17T06:47:31.8357208Z         "int": {
2026-06-17T06:47:31.8357479Z           "complete": true,
2026-06-17T06:47:31.8357736Z           "evidence": [
2026-06-17T06:47:31.8357975Z             {
2026-06-17T06:47:31.8358368Z               "path": "crates/spt/tests/livehost_bootrace_e2e.rs",
2026-06-17T06:47:31.8358794Z               "line": 353
2026-06-17T06:47:31.8359137Z             },
2026-06-17T06:47:31.8359376Z             {
2026-06-17T06:47:31.8359809Z               "path": "crates/spt/tests/livehost_psyche_fail_e2e.rs",
2026-06-17T06:47:31.8360058Z               "line": 23
2026-06-17T06:47:31.8360310Z             }
2026-06-17T06:47:31.8360543Z           ]
2026-06-17T06:47:31.8360789Z         },
2026-06-17T06:47:31.8361032Z         "unit": {
2026-06-17T06:47:31.8361298Z           "complete": true,
2026-06-17T06:47:31.8361652Z           "evidence": [
2026-06-17T06:47:31.8361899Z             {
2026-06-17T06:47:31.8362238Z               "path": "crates/spt-store/src/info.rs",
2026-06-17T06:47:31.8362500Z               "line": 686
2026-06-17T06:47:31.8362748Z             },
2026-06-17T06:47:31.8362991Z             {
2026-06-17T06:47:31.8363297Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.8363558Z               "line": 7194
2026-06-17T06:47:31.8363807Z             }
2026-06-17T06:47:31.8364056Z           ]
2026-06-17T06:47:31.8364295Z         }
2026-06-17T06:47:31.8364538Z       }
2026-06-17T06:47:31.8364781Z     },
2026-06-17T06:47:31.8365024Z     {
2026-06-17T06:47:31.8365362Z       "id": "REQ-HAZARD-LIVEHOST-NONRESIDENT",
2026-06-17T06:47:31.8374564Z       "title": "A daemon-hosted Psyche that spawns then EXITS IMMEDIATELY is a host failure, surfaced like a spawn failure (closes the v0.8.1 residual masking): the REQ-HAZARD-LIVEHOST-BOOT-RACE signal stamps `psyche_host_error` only when `spawn_psyche` returns Err, NOT when the detached spawn() returns Ok but the child dies within moments (e.g. a bad-argv child exiting 2 — the F-009 case). That leaves the residual 'online + no Psyche + no cause' gap: the nested `{id}-psyche` info.json is written status=online with a real-but-DEAD pid and the PARENT perch carries NO psyche_host_error (perri's F-010: tasklist showed 0 host procs across the window while info.json read online). The host MUST confirm RESIDENCY — a hosted child not alive (or whose `{id}-psyche` perch never re-registers / has a dead pid) within N seconds of spawn is treated as a host failure: stamp the parent perch `psyche_host_error{reason:\"host not resident within <n>s (psyche perch missing/dead pid)\"}` (and do not leave a phantom online nested perch). Closes the last masking gap the v0.8.1 fix left open. perri's F-010 (v0.8.1 dogfood). Sibling of REQ-HAZARD-LIVEHOST-BOOT-RACE.",
2026-06-17T06:47:31.8374874Z       "requiredStages": [
2026-06-17T06:47:31.8375127Z         "impl",
2026-06-17T06:47:31.8375379Z         "unit",
2026-06-17T06:47:31.8375622Z         "int"
2026-06-17T06:47:31.8375865Z       ],
2026-06-17T06:47:31.8376109Z       "stages": {
2026-06-17T06:47:31.8376363Z         "doc": {
2026-06-17T06:47:31.8376631Z           "complete": false,
2026-06-17T06:47:31.8376896Z           "evidence": []
2026-06-17T06:47:31.8377145Z         },
2026-06-17T06:47:31.8377384Z         "impl": {
2026-06-17T06:47:31.8377646Z           "complete": true,
2026-06-17T06:47:31.8377893Z           "evidence": [
2026-06-17T06:47:31.8378150Z             {
2026-06-17T06:47:31.8378513Z               "path": "crates/spt-daemon/src/livehost.rs",
2026-06-17T06:47:31.8378804Z               "line": 63
2026-06-17T06:47:31.8379152Z             },
2026-06-17T06:47:31.8379422Z             {
2026-06-17T06:47:31.8379809Z               "path": "crates/spt-daemon/src/livehost.rs",
2026-06-17T06:47:31.8380090Z               "line": 77
2026-06-17T06:47:31.8380367Z             },
2026-06-17T06:47:31.8380633Z             {
2026-06-17T06:47:31.8381020Z               "path": "crates/spt-daemon/src/livehost.rs",
2026-06-17T06:47:31.8381305Z               "line": 164
2026-06-17T06:47:31.8381578Z             },
2026-06-17T06:47:31.8381830Z             {
2026-06-17T06:47:31.8382185Z               "path": "crates/spt-daemon/src/livehost.rs",
2026-06-17T06:47:31.8382452Z               "line": 171
2026-06-17T06:47:31.8382694Z             },
2026-06-17T06:47:31.8382947Z             {
2026-06-17T06:47:31.8383291Z               "path": "crates/spt-daemon/src/livehost.rs",
2026-06-17T06:47:31.8383653Z               "line": 181
2026-06-17T06:47:31.8383901Z             },
2026-06-17T06:47:31.8384144Z             {
2026-06-17T06:47:31.8384502Z               "path": "crates/spt-daemon/src/livehost.rs",
2026-06-17T06:47:31.8384758Z               "line": 257
2026-06-17T06:47:31.8385000Z             },
2026-06-17T06:47:31.8385247Z             {
2026-06-17T06:47:31.8385591Z               "path": "crates/spt-daemon/src/livehost.rs",
2026-06-17T06:47:31.8385954Z               "line": 271
2026-06-17T06:47:31.8386201Z             },
2026-06-17T06:47:31.8386458Z             {
2026-06-17T06:47:31.8386812Z               "path": "crates/spt-daemon/src/livehost.rs",
2026-06-17T06:47:31.8387059Z               "line": 340
2026-06-17T06:47:31.8387301Z             },
2026-06-17T06:47:31.8387552Z             {
2026-06-17T06:47:31.8387905Z               "path": "crates/spt-daemon/src/livehost.rs",
2026-06-17T06:47:31.8388167Z               "line": 394
2026-06-17T06:47:31.8388424Z             },
2026-06-17T06:47:31.8388673Z             {
2026-06-17T06:47:31.8389097Z               "path": "crates/spt-daemon/src/livehost.rs",
2026-06-17T06:47:31.8389364Z               "line": 414
2026-06-17T06:47:31.8389621Z             }
2026-06-17T06:47:31.8389875Z           ]
2026-06-17T06:47:31.8390121Z         },
2026-06-17T06:47:31.8390379Z         "int": {
2026-06-17T06:47:31.8390654Z           "complete": true,
2026-06-17T06:47:31.8390913Z           "evidence": [
2026-06-17T06:47:31.8391166Z             {
2026-06-17T06:47:31.8391562Z               "path": "crates/spt/tests/livehost_bootrace_e2e.rs",
2026-06-17T06:47:31.8391824Z               "line": 45
2026-06-17T06:47:31.8392068Z             },
2026-06-17T06:47:31.8392313Z             {
2026-06-17T06:47:31.8392712Z               "path": "crates/spt/tests/livehost_bootrace_e2e.rs",
2026-06-17T06:47:31.8392974Z               "line": 354
2026-06-17T06:47:31.8393226Z             },
2026-06-17T06:47:31.8393465Z             {
2026-06-17T06:47:31.8393889Z               "path": "crates/spt/tests/livehost_nonresident_e2e.rs",
2026-06-17T06:47:31.8394151Z               "line": 31
2026-06-17T06:47:31.8394404Z             }
2026-06-17T06:47:31.8394649Z           ]
2026-06-17T06:47:31.8394887Z         },
2026-06-17T06:47:31.8395142Z         "unit": {
2026-06-17T06:47:31.8395402Z           "complete": true,
2026-06-17T06:47:31.8395666Z           "evidence": [
2026-06-17T06:47:31.8395909Z             {
2026-06-17T06:47:31.8396270Z               "path": "crates/spt-daemon/src/livehost.rs",
2026-06-17T06:47:31.8396538Z               "line": 476
2026-06-17T06:47:31.8396775Z             }
2026-06-17T06:47:31.8397014Z           ]
2026-06-17T06:47:31.8397257Z         }
2026-06-17T06:47:31.8397511Z       }
2026-06-17T06:47:31.8397747Z     },
2026-06-17T06:47:31.8397993Z     {
2026-06-17T06:47:31.8398298Z       "id": "REQ-HAZARD-LOCAL-API-AUTH",
2026-06-17T06:47:31.8398927Z       "title": "Every local `api` mutation authenticated to an endpoint/session (codex #13)",
2026-06-17T06:47:31.8399285Z       "requiredStages": [
2026-06-17T06:47:31.8399538Z         "impl",
2026-06-17T06:47:31.8399791Z         "unit"
2026-06-17T06:47:31.8400030Z       ],
2026-06-17T06:47:31.8400282Z       "stages": {
2026-06-17T06:47:31.8400543Z         "doc": {
2026-06-17T06:47:31.8400801Z           "complete": false,
2026-06-17T06:47:31.8401064Z           "evidence": []
2026-06-17T06:47:31.8401307Z         },
2026-06-17T06:47:31.8401548Z         "impl": {
2026-06-17T06:47:31.8401816Z           "complete": true,
2026-06-17T06:47:31.8402074Z           "evidence": [
2026-06-17T06:47:31.8402327Z             {
2026-06-17T06:47:31.8402647Z               "path": "crates/spt/src/api/auth.rs",
2026-06-17T06:47:31.8402912Z               "line": 14
2026-06-17T06:47:31.8403152Z             },
2026-06-17T06:47:31.8403405Z             {
2026-06-17T06:47:31.8403711Z               "path": "crates/spt/src/api/mod.rs",
2026-06-17T06:47:31.8403973Z               "line": 543
2026-06-17T06:47:31.8404221Z             }
2026-06-17T06:47:31.8404570Z           ]
2026-06-17T06:47:31.8404813Z         },
2026-06-17T06:47:31.8405050Z         "int": {
2026-06-17T06:47:31.8405317Z           "complete": false,
2026-06-17T06:47:31.8405580Z           "evidence": []
2026-06-17T06:47:31.8405817Z         },
2026-06-17T06:47:31.8406077Z         "unit": {
2026-06-17T06:47:31.8406339Z           "complete": true,
2026-06-17T06:47:31.8406597Z           "evidence": [
2026-06-17T06:47:31.8406840Z             {
2026-06-17T06:47:31.8407264Z               "path": "crates/spt/src/api/auth.rs",
2026-06-17T06:47:31.8407512Z               "line": 130
2026-06-17T06:47:31.8407761Z             },
2026-06-17T06:47:31.8408014Z             {
2026-06-17T06:47:31.8408336Z               "path": "crates/spt/src/api/auth.rs",
2026-06-17T06:47:31.8408591Z               "line": 138
2026-06-17T06:47:31.8408839Z             },
2026-06-17T06:47:31.8409163Z             {
2026-06-17T06:47:31.8409469Z               "path": "crates/spt/src/api/auth.rs",
2026-06-17T06:47:31.8409740Z               "line": 146
2026-06-17T06:47:31.8409989Z             },
2026-06-17T06:47:31.8410242Z             {
2026-06-17T06:47:31.8410576Z               "path": "crates/spt/src/api/auth.rs",
2026-06-17T06:47:31.8410832Z               "line": 154
2026-06-17T06:47:31.8411089Z             },
2026-06-17T06:47:31.8411328Z             {
2026-06-17T06:47:31.8411647Z               "path": "crates/spt/src/api/auth.rs",
2026-06-17T06:47:31.8411905Z               "line": 162
2026-06-17T06:47:31.8412157Z             },
2026-06-17T06:47:31.8412405Z             {
2026-06-17T06:47:31.8412715Z               "path": "crates/spt/src/api/auth.rs",
2026-06-17T06:47:31.8412977Z               "line": 170
2026-06-17T06:47:31.8413221Z             }
2026-06-17T06:47:31.8413472Z           ]
2026-06-17T06:47:31.8413712Z         }
2026-06-17T06:47:31.8413942Z       }
2026-06-17T06:47:31.8414195Z     },
2026-06-17T06:47:31.8414424Z     {
2026-06-17T06:47:31.8414739Z       "id": "REQ-HAZARD-PAIR-RATE-LIMIT",
2026-06-17T06:47:31.8417157Z       "title": "Subnet-global pairing rate limit: one active ceremony per subnet, shared attempt counter, exponential backoff — a public pre-trust relay + multiple seed-holders otherwise enables distributed SPAKE2 guessing (and ±1 TOTP window triples the valid-password space) (ADR-0005 #11)",
2026-06-17T06:47:31.8417439Z       "requiredStages": [
2026-06-17T06:47:31.8417687Z         "impl",
2026-06-17T06:47:31.8417930Z         "unit"
2026-06-17T06:47:31.8418177Z       ],
2026-06-17T06:47:31.8418439Z       "stages": {
2026-06-17T06:47:31.8418688Z         "doc": {
2026-06-17T06:47:31.8419042Z           "complete": false,
2026-06-17T06:47:31.8419314Z           "evidence": []
2026-06-17T06:47:31.8419557Z         },
2026-06-17T06:47:31.8419809Z         "impl": {
2026-06-17T06:47:31.8420085Z           "complete": true,
2026-06-17T06:47:31.8420348Z           "evidence": [
2026-06-17T06:47:31.8420592Z             {
2026-06-17T06:47:31.8421011Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-17T06:47:31.8421272Z               "line": 34
2026-06-17T06:47:31.8421518Z             }
2026-06-17T06:47:31.8421754Z           ]
2026-06-17T06:47:31.8421997Z         },
2026-06-17T06:47:31.8422250Z         "int": {
2026-06-17T06:47:31.8422522Z           "complete": false,
2026-06-17T06:47:31.8422785Z           "evidence": []
2026-06-17T06:47:31.8423027Z         },
2026-06-17T06:47:31.8423289Z         "unit": {
2026-06-17T06:47:31.8423556Z           "complete": true,
2026-06-17T06:47:31.8423823Z           "evidence": [
2026-06-17T06:47:31.8424061Z             {
2026-06-17T06:47:31.8424479Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-17T06:47:31.8424736Z               "line": 188
2026-06-17T06:47:31.8424979Z             },
2026-06-17T06:47:31.8425221Z             {
2026-06-17T06:47:31.8425633Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-17T06:47:31.8425899Z               "line": 200
2026-06-17T06:47:31.8426147Z             },
2026-06-17T06:47:31.8426534Z             {
2026-06-17T06:47:31.8426951Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-17T06:47:31.8427207Z               "line": 211
2026-06-17T06:47:31.8427459Z             },
2026-06-17T06:47:31.8427703Z             {
2026-06-17T06:47:31.8428117Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-17T06:47:31.8428380Z               "line": 253
2026-06-17T06:47:31.8428623Z             },
2026-06-17T06:47:31.8429086Z             {
2026-06-17T06:47:31.8429513Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-17T06:47:31.8429774Z               "line": 277
2026-06-17T06:47:31.8430026Z             },
2026-06-17T06:47:31.8430279Z             {
2026-06-17T06:47:31.8430689Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-17T06:47:31.8430946Z               "line": 300
2026-06-17T06:47:31.8431189Z             },
2026-06-17T06:47:31.8431439Z             {
2026-06-17T06:47:31.8431861Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-17T06:47:31.8432111Z               "line": 316
2026-06-17T06:47:31.8432362Z             }
2026-06-17T06:47:31.8432614Z           ]
2026-06-17T06:47:31.8432852Z         }
2026-06-17T06:47:31.8433101Z       }
2026-06-17T06:47:31.8433345Z     },
2026-06-17T06:47:31.8433592Z     {
2026-06-17T06:47:31.8433892Z       "id": "REQ-HAZARD-PAIR-SEED-ROTATION",
2026-06-17T06:47:31.8435485Z       "title": "Removing a node rotates the subnet seed (epoch bump) so an old node/old seed cannot rejoin; trust-store delete alone is NOT revocation because the seed is replicated to every trusted node (ADR-0005 #10)",
2026-06-17T06:47:31.8435772Z       "requiredStages": [
2026-06-17T06:47:31.8436011Z         "impl",
2026-06-17T06:47:31.8436264Z         "unit"
2026-06-17T06:47:31.8436508Z       ],
2026-06-17T06:47:31.8436759Z       "stages": {
2026-06-17T06:47:31.8436997Z         "doc": {
2026-06-17T06:47:31.8437265Z           "complete": false,
2026-06-17T06:47:31.8437530Z           "evidence": []
2026-06-17T06:47:31.8437776Z         },
2026-06-17T06:47:31.8438019Z         "impl": {
2026-06-17T06:47:31.8438301Z           "complete": true,
2026-06-17T06:47:31.8438559Z           "evidence": [
2026-06-17T06:47:31.8438797Z             {
2026-06-17T06:47:31.8439202Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-17T06:47:31.8439456Z               "line": 29
2026-06-17T06:47:31.8439690Z             },
2026-06-17T06:47:31.8439949Z             {
2026-06-17T06:47:31.8440286Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-17T06:47:31.8440557Z               "line": 174
2026-06-17T06:47:31.8440797Z             },
2026-06-17T06:47:31.8441040Z             {
2026-06-17T06:47:31.8441378Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-17T06:47:31.8441627Z               "line": 194
2026-06-17T06:47:31.8441879Z             },
2026-06-17T06:47:31.8442117Z             {
2026-06-17T06:47:31.8442451Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-17T06:47:31.8442718Z               "line": 222
2026-06-17T06:47:31.8442970Z             }
2026-06-17T06:47:31.8443227Z           ]
2026-06-17T06:47:31.8443465Z         },
2026-06-17T06:47:31.8443713Z         "int": {
2026-06-17T06:47:31.8443971Z           "complete": false,
2026-06-17T06:47:31.8444230Z           "evidence": []
2026-06-17T06:47:31.8444472Z         },
2026-06-17T06:47:31.8444719Z         "unit": {
2026-06-17T06:47:31.8444995Z           "complete": true,
2026-06-17T06:47:31.8445256Z           "evidence": [
2026-06-17T06:47:31.8445508Z             {
2026-06-17T06:47:31.8445847Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-17T06:47:31.8446119Z               "line": 329
2026-06-17T06:47:31.8446360Z             },
2026-06-17T06:47:31.8446609Z             {
2026-06-17T06:47:31.8446943Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-17T06:47:31.8447205Z               "line": 344
2026-06-17T06:47:31.8447449Z             },
2026-06-17T06:47:31.8447806Z             {
2026-06-17T06:47:31.8448146Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-17T06:47:31.8448409Z               "line": 417
2026-06-17T06:47:31.8448646Z             },
2026-06-17T06:47:31.8448889Z             {
2026-06-17T06:47:31.8449285Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-17T06:47:31.8449552Z               "line": 433
2026-06-17T06:47:31.8449805Z             },
2026-06-17T06:47:31.8450058Z             {
2026-06-17T06:47:31.8450486Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-17T06:47:31.8450746Z               "line": 492
2026-06-17T06:47:31.8450995Z             },
2026-06-17T06:47:31.8451228Z             {
2026-06-17T06:47:31.8451557Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-17T06:47:31.8451819Z               "line": 506
2026-06-17T06:47:31.8452071Z             },
2026-06-17T06:47:31.8452324Z             {
2026-06-17T06:47:31.8452662Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-17T06:47:31.8452921Z               "line": 517
2026-06-17T06:47:31.8453165Z             },
2026-06-17T06:47:31.8453419Z             {
2026-06-17T06:47:31.8453753Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-17T06:47:31.8454011Z               "line": 528
2026-06-17T06:47:31.8454265Z             }
2026-06-17T06:47:31.8454517Z           ]
2026-06-17T06:47:31.8454756Z         }
2026-06-17T06:47:31.8454993Z       }
2026-06-17T06:47:31.8455241Z     },
2026-06-17T06:47:31.8455471Z     {
2026-06-17T06:47:31.8455821Z       "id": "REQ-HAZARD-PAIR-TRANSCRIPT-BIND",
2026-06-17T06:47:31.8457618Z       "title": "Pairing transcript binds roles, both node pubkeys, subnet ID, seed epoch, TOTP time-step, and confirmation MACs — or unknown-key-share/reflection/wrong-subnet/replay pairing remain possible (ADR-0005 #12)",
2026-06-17T06:47:31.8457899Z       "requiredStages": [
2026-06-17T06:47:31.8458156Z         "impl",
2026-06-17T06:47:31.8458408Z         "unit"
2026-06-17T06:47:31.8458665Z       ],
2026-06-17T06:47:31.8458916Z       "stages": {
2026-06-17T06:47:31.8459260Z         "doc": {
2026-06-17T06:47:31.8459531Z           "complete": false,
2026-06-17T06:47:31.8459793Z           "evidence": []
2026-06-17T06:47:31.8460041Z         },
2026-06-17T06:47:31.8460294Z         "impl": {
2026-06-17T06:47:31.8460566Z           "complete": true,
2026-06-17T06:47:31.8460829Z           "evidence": [
2026-06-17T06:47:31.8461084Z             {
2026-06-17T06:47:31.8461468Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-17T06:47:31.8461725Z               "line": 27
2026-06-17T06:47:31.8461978Z             },
2026-06-17T06:47:31.8462222Z             {
2026-06-17T06:47:31.8462608Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-17T06:47:31.8462865Z               "line": 110
2026-06-17T06:47:31.8463109Z             },
2026-06-17T06:47:31.8463348Z             {
2026-06-17T06:47:31.8463734Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-17T06:47:31.8463999Z               "line": 153
2026-06-17T06:47:31.8464251Z             },
2026-06-17T06:47:31.8464505Z             {
2026-06-17T06:47:31.8464890Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-17T06:47:31.8465149Z               "line": 182
2026-06-17T06:47:31.8465397Z             },
2026-06-17T06:47:31.8465645Z             {
2026-06-17T06:47:31.8466064Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-17T06:47:31.8466325Z               "line": 31
2026-06-17T06:47:31.8466576Z             },
2026-06-17T06:47:31.8466837Z             {
2026-06-17T06:47:31.8467258Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-17T06:47:31.8467520Z               "line": 113
2026-06-17T06:47:31.8467762Z             },
2026-06-17T06:47:31.8468021Z             {
2026-06-17T06:47:31.8468430Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-17T06:47:31.8468697Z               "line": 138
2026-06-17T06:47:31.8469135Z             }
2026-06-17T06:47:31.8469376Z           ]
2026-06-17T06:47:31.8469624Z         },
2026-06-17T06:47:31.8469867Z         "int": {
2026-06-17T06:47:31.8470140Z           "complete": false,
2026-06-17T06:47:31.8470401Z           "evidence": []
2026-06-17T06:47:31.8470639Z         },
2026-06-17T06:47:31.8470901Z         "unit": {
2026-06-17T06:47:31.8471164Z           "complete": true,
2026-06-17T06:47:31.8471428Z           "evidence": [
2026-06-17T06:47:31.8471673Z             {
2026-06-17T06:47:31.8472158Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-17T06:47:31.8472420Z               "line": 261
2026-06-17T06:47:31.8472668Z             },
2026-06-17T06:47:31.8472910Z             {
2026-06-17T06:47:31.8473292Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-17T06:47:31.8473544Z               "line": 276
2026-06-17T06:47:31.8473792Z             },
2026-06-17T06:47:31.8474036Z             {
2026-06-17T06:47:31.8474412Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-17T06:47:31.8474679Z               "line": 293
2026-06-17T06:47:31.8474927Z             },
2026-06-17T06:47:31.8475169Z             {
2026-06-17T06:47:31.8475557Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-17T06:47:31.8475813Z               "line": 310
2026-06-17T06:47:31.8476066Z             },
2026-06-17T06:47:31.8476323Z             {
2026-06-17T06:47:31.8476699Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-17T06:47:31.8476965Z               "line": 327
2026-06-17T06:47:31.8477213Z             },
2026-06-17T06:47:31.8477465Z             {
2026-06-17T06:47:31.8477837Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-17T06:47:31.8478095Z               "line": 366
2026-06-17T06:47:31.8478346Z             },
2026-06-17T06:47:31.8478586Z             {
2026-06-17T06:47:31.8479072Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-17T06:47:31.8479334Z               "line": 179
2026-06-17T06:47:31.8479605Z             },
2026-06-17T06:47:31.8479860Z             {
2026-06-17T06:47:31.8480274Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-17T06:47:31.8480531Z               "line": 194
2026-06-17T06:47:31.8480770Z             },
2026-06-17T06:47:31.8481019Z             {
2026-06-17T06:47:31.8481433Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-17T06:47:31.8481706Z               "line": 204
2026-06-17T06:47:31.8481944Z             },
2026-06-17T06:47:31.8482199Z             {
2026-06-17T06:47:31.8482627Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-17T06:47:31.8482884Z               "line": 259
2026-06-17T06:47:31.8483132Z             },
2026-06-17T06:47:31.8483371Z             {
2026-06-17T06:47:31.8483785Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-17T06:47:31.8484048Z               "line": 269
2026-06-17T06:47:31.8484305Z             },
2026-06-17T06:47:31.8484559Z             {
2026-06-17T06:47:31.8484972Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-17T06:47:31.8485230Z               "line": 283
2026-06-17T06:47:31.8485473Z             }
2026-06-17T06:47:31.8485724Z           ]
2026-06-17T06:47:31.8485973Z         }
2026-06-17T06:47:31.8486221Z       }
2026-06-17T06:47:31.8486465Z     },
2026-06-17T06:47:31.8486703Z     {
2026-06-17T06:47:31.8487027Z       "id": "REQ-HAZARD-PARENT-PID-PREFER",
2026-06-17T06:47:31.8487586Z       "title": "Prefer stable parent PID / broker handle over ephemeral PID (2.1)",
2026-06-17T06:47:31.8487868Z       "requiredStages": [],
2026-06-17T06:47:31.8488116Z       "stages": {
2026-06-17T06:47:31.8488373Z         "doc": {
2026-06-17T06:47:31.8488640Z           "complete": false,
2026-06-17T06:47:31.8488887Z           "evidence": []
2026-06-17T06:47:31.8489211Z         },
2026-06-17T06:47:31.8489459Z         "impl": {
2026-06-17T06:47:31.8489727Z           "complete": false,
2026-06-17T06:47:31.8490094Z           "evidence": []
2026-06-17T06:47:31.8490350Z         },
2026-06-17T06:47:31.8490601Z         "int": {
2026-06-17T06:47:31.8490867Z           "complete": false,
2026-06-17T06:47:31.8491134Z           "evidence": []
2026-06-17T06:47:31.8491374Z         },
2026-06-17T06:47:31.8491631Z         "unit": {
2026-06-17T06:47:31.8491894Z           "complete": false,
2026-06-17T06:47:31.8492161Z           "evidence": []
2026-06-17T06:47:31.8492403Z         }
2026-06-17T06:47:31.8492764Z       }
2026-06-17T06:47:31.8493005Z     },
2026-06-17T06:47:31.8493240Z     {
2026-06-17T06:47:31.8493598Z       "id": "REQ-HAZARD-PSYCHE-OUTBOUND-PROXY",
2026-06-17T06:47:31.8495771Z       "title": "Psyche outbound captured + sanitized: the live-Psyche turn driver captures stdout (never Stdio::null), and the daemon strips/re-stamps Psyche-supplied from=/target and constrains routing (reply→__REPLY_TO__ sender, notify→own user/subnet) (7.3)",
2026-06-17T06:47:31.8496047Z       "requiredStages": [
2026-06-17T06:47:31.8496299Z         "impl",
2026-06-17T06:47:31.8496547Z         "unit"
2026-06-17T06:47:31.8496800Z       ],
2026-06-17T06:47:31.8497053Z       "stages": {
2026-06-17T06:47:31.8497307Z         "doc": {
2026-06-17T06:47:31.8497577Z           "complete": false,
2026-06-17T06:47:31.8497838Z           "evidence": []
2026-06-17T06:47:31.8498094Z         },
2026-06-17T06:47:31.8498347Z         "impl": {
2026-06-17T06:47:31.8498618Z           "complete": true,
2026-06-17T06:47:31.8498876Z           "evidence": [
2026-06-17T06:47:31.8499186Z             {
2026-06-17T06:47:31.8499544Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-17T06:47:31.8499800Z               "line": 26
2026-06-17T06:47:31.8500049Z             },
2026-06-17T06:47:31.8500297Z             {
2026-06-17T06:47:31.8500644Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-17T06:47:31.8500896Z               "line": 95
2026-06-17T06:47:31.8501142Z             },
2026-06-17T06:47:31.8501394Z             {
2026-06-17T06:47:31.8501743Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-17T06:47:31.8502000Z               "line": 166
2026-06-17T06:47:31.8502238Z             },
2026-06-17T06:47:31.8502483Z             {
2026-06-17T06:47:31.8502826Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-17T06:47:31.8503074Z               "line": 19
2026-06-17T06:47:31.8503329Z             },
2026-06-17T06:47:31.8503575Z             {
2026-06-17T06:47:31.8503932Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-17T06:47:31.8504191Z               "line": 50
2026-06-17T06:47:31.8504448Z             },
2026-06-17T06:47:31.8504711Z             {
2026-06-17T06:47:31.8505040Z               "path": "crates/spt-live/src/turn.rs",
2026-06-17T06:47:31.8505298Z               "line": 18
2026-06-17T06:47:31.8505540Z             },
2026-06-17T06:47:31.8505797Z             {
2026-06-17T06:47:31.8506116Z               "path": "crates/spt-live/src/turn.rs",
2026-06-17T06:47:31.8506374Z               "line": 71
2026-06-17T06:47:31.8506631Z             },
2026-06-17T06:47:31.8506879Z             {
2026-06-17T06:47:31.8507213Z               "path": "crates/spt-proto/src/event.rs",
2026-06-17T06:47:31.8507470Z               "line": 87
2026-06-17T06:47:31.8507723Z             }
2026-06-17T06:47:31.8507966Z           ]
2026-06-17T06:47:31.8508211Z         },
2026-06-17T06:47:31.8508465Z         "int": {
2026-06-17T06:47:31.8508725Z           "complete": false,
2026-06-17T06:47:31.8509068Z           "evidence": []
2026-06-17T06:47:31.8509307Z         },
2026-06-17T06:47:31.8509570Z         "unit": {
2026-06-17T06:47:31.8509837Z           "complete": true,
2026-06-17T06:47:31.8510104Z           "evidence": [
2026-06-17T06:47:31.8510360Z             {
2026-06-17T06:47:31.8510719Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-17T06:47:31.8510995Z               "line": 289
2026-06-17T06:47:31.8511233Z             },
2026-06-17T06:47:31.8511479Z             {
2026-06-17T06:47:31.8511940Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-17T06:47:31.8512212Z               "line": 314
2026-06-17T06:47:31.8512456Z             },
2026-06-17T06:47:31.8512704Z             {
2026-06-17T06:47:31.8513052Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-17T06:47:31.8513310Z               "line": 350
2026-06-17T06:47:31.8513557Z             },
2026-06-17T06:47:31.8513794Z             {
2026-06-17T06:47:31.8514149Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-17T06:47:31.8514507Z               "line": 418
2026-06-17T06:47:31.8514746Z             },
2026-06-17T06:47:31.8514999Z             {
2026-06-17T06:47:31.8515360Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-17T06:47:31.8515628Z               "line": 429
2026-06-17T06:47:31.8515872Z             },
2026-06-17T06:47:31.8516129Z             {
2026-06-17T06:47:31.8516483Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-17T06:47:31.8516747Z               "line": 460
2026-06-17T06:47:31.8516995Z             },
2026-06-17T06:47:31.8517243Z             {
2026-06-17T06:47:31.8517597Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-17T06:47:31.8517859Z               "line": 471
2026-06-17T06:47:31.8518112Z             },
2026-06-17T06:47:31.8518364Z             {
2026-06-17T06:47:31.8518712Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-17T06:47:31.8519025Z               "line": 77
2026-06-17T06:47:31.8519271Z             },
2026-06-17T06:47:31.8519520Z             {
2026-06-17T06:47:31.8519848Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-17T06:47:31.8520115Z               "line": 97
2026-06-17T06:47:31.8520359Z             },
2026-06-17T06:47:31.8520611Z             {
2026-06-17T06:47:31.8520955Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-17T06:47:31.8521212Z               "line": 112
2026-06-17T06:47:31.8521464Z             },
2026-06-17T06:47:31.8521708Z             {
2026-06-17T06:47:31.8522058Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-17T06:47:31.8522330Z               "line": 123
2026-06-17T06:47:31.8522572Z             },
2026-06-17T06:47:31.8522824Z             {
2026-06-17T06:47:31.8523158Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-17T06:47:31.8523416Z               "line": 130
2026-06-17T06:47:31.8523669Z             },
2026-06-17T06:47:31.8523918Z             {
2026-06-17T06:47:31.8524261Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-17T06:47:31.8524517Z               "line": 145
2026-06-17T06:47:31.8524776Z             },
2026-06-17T06:47:31.8525010Z             {
2026-06-17T06:47:31.8525344Z               "path": "crates/spt-live/src/turn.rs",
2026-06-17T06:47:31.8525602Z               "line": 115
2026-06-17T06:47:31.8525855Z             },
2026-06-17T06:47:31.8526093Z             {
2026-06-17T06:47:31.8526418Z               "path": "crates/spt-live/src/turn.rs",
2026-06-17T06:47:31.8526679Z               "line": 130
2026-06-17T06:47:31.8526917Z             },
2026-06-17T06:47:31.8527166Z             {
2026-06-17T06:47:31.8527500Z               "path": "crates/spt-proto/src/event.rs",
2026-06-17T06:47:31.8527762Z               "line": 428
2026-06-17T06:47:31.8528023Z             }
2026-06-17T06:47:31.8528265Z           ]
2026-06-17T06:47:31.8528505Z         }
2026-06-17T06:47:31.8528744Z       }
2026-06-17T06:47:31.8529063Z     },
2026-06-17T06:47:31.8529302Z     {
2026-06-17T06:47:31.8529619Z       "id": "REQ-HAZARD-PUMP-IPC-DEADLINE",
2026-06-17T06:47:31.8531868Z       "title": "The single-threaded peer pump's brain-IPC reads are deadline-bounded (PUMP_PEER_IO_TIMEOUT, total-wait per call); a TimedOut read POISONS the client and escalates to a SUPERVISED RESTART, never a per-peer retry — a black-holed peer must never wedge the whole pump",
2026-06-17T06:47:31.8532135Z       "requiredStages": [
2026-06-17T06:47:31.8532386Z         "doc",
2026-06-17T06:47:31.8532641Z         "impl",
2026-06-17T06:47:31.8533008Z         "unit"
2026-06-17T06:47:31.8533262Z       ],
2026-06-17T06:47:31.8533510Z       "stages": {
2026-06-17T06:47:31.8533757Z         "doc": {
2026-06-17T06:47:31.8534024Z           "complete": true,
2026-06-17T06:47:31.8534296Z           "evidence": [
2026-06-17T06:47:31.8534553Z             {
2026-06-17T06:47:31.8534859Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-17T06:47:31.8535110Z               "line": 374
2026-06-17T06:47:31.8535351Z             }
2026-06-17T06:47:31.8535689Z           ]
2026-06-17T06:47:31.8535941Z         },
2026-06-17T06:47:31.8536205Z         "impl": {
2026-06-17T06:47:31.8536467Z           "complete": true,
2026-06-17T06:47:31.8536720Z           "evidence": [
2026-06-17T06:47:31.8536963Z             {
2026-06-17T06:47:31.8537307Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-17T06:47:31.8537569Z               "line": 199
2026-06-17T06:47:31.8537820Z             },
2026-06-17T06:47:31.8538069Z             {
2026-06-17T06:47:31.8538412Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-17T06:47:31.8538674Z               "line": 303
2026-06-17T06:47:31.8538913Z             },
2026-06-17T06:47:31.8539223Z             {
2026-06-17T06:47:31.8539571Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-17T06:47:31.8539837Z               "line": 515
2026-06-17T06:47:31.8540089Z             },
2026-06-17T06:47:31.8540348Z             {
2026-06-17T06:47:31.8540687Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-17T06:47:31.8540945Z               "line": 530
2026-06-17T06:47:31.8541189Z             },
2026-06-17T06:47:31.8541431Z             {
2026-06-17T06:47:31.8541775Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-17T06:47:31.8542036Z               "line": 1127
2026-06-17T06:47:31.8542289Z             },
2026-06-17T06:47:31.8542537Z             {
2026-06-17T06:47:31.8542889Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-17T06:47:31.8543146Z               "line": 443
2026-06-17T06:47:31.8543407Z             },
2026-06-17T06:47:31.8543649Z             {
2026-06-17T06:47:31.8544008Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-17T06:47:31.8544264Z               "line": 590
2026-06-17T06:47:31.8544503Z             },
2026-06-17T06:47:31.8544742Z             {
2026-06-17T06:47:31.8545099Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-17T06:47:31.8545362Z               "line": 731
2026-06-17T06:47:31.8545599Z             }
2026-06-17T06:47:31.8545853Z           ]
2026-06-17T06:47:31.8546102Z         },
2026-06-17T06:47:31.8546351Z         "int": {
2026-06-17T06:47:31.8546627Z           "complete": false,
2026-06-17T06:47:31.8546879Z           "evidence": []
2026-06-17T06:47:31.8547132Z         },
2026-06-17T06:47:31.8547380Z         "unit": {
2026-06-17T06:47:31.8547647Z           "complete": true,
2026-06-17T06:47:31.8547905Z           "evidence": [
2026-06-17T06:47:31.8548148Z             {
2026-06-17T06:47:31.8548499Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-17T06:47:31.8548756Z               "line": 1155
2026-06-17T06:47:31.8549090Z             },
2026-06-17T06:47:31.8549348Z             {
2026-06-17T06:47:31.8549753Z               "path": "crates/spt-daemon/tests/pumpdeadline.rs",
2026-06-17T06:47:31.8550006Z               "line": 30
2026-06-17T06:47:31.8550258Z             }
2026-06-17T06:47:31.8550498Z           ]
2026-06-17T06:47:31.8550744Z         }
2026-06-17T06:47:31.8550994Z       }
2026-06-17T06:47:31.8551238Z     },
2026-06-17T06:47:31.8554815Z     {
2026-06-17T06:47:31.8555197Z       "id": "REQ-HAZARD-REGISTRY-CONCURRENT",
2026-06-17T06:47:31.8555951Z       "title": "Concurrent SQLite openers (registry/spool) must not fail with 'database is locked' (4.7)",
2026-06-17T06:47:31.8556231Z       "requiredStages": [
2026-06-17T06:47:31.8556471Z         "impl",
2026-06-17T06:47:31.8556729Z         "unit"
2026-06-17T06:47:31.8556972Z       ],
2026-06-17T06:47:31.8557225Z       "stages": {
2026-06-17T06:47:31.8557620Z         "doc": {
2026-06-17T06:47:31.8557892Z           "complete": true,
2026-06-17T06:47:31.8558146Z           "evidence": [
2026-06-17T06:47:31.8558379Z             {
2026-06-17T06:47:31.8558694Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-17T06:47:31.8559016Z               "line": 139
2026-06-17T06:47:31.8559274Z             }
2026-06-17T06:47:31.8559527Z           ]
2026-06-17T06:47:31.8559771Z         },
2026-06-17T06:47:31.8560023Z         "impl": {
2026-06-17T06:47:31.8560395Z           "complete": true,
2026-06-17T06:47:31.8560663Z           "evidence": [
2026-06-17T06:47:31.8560900Z             {
2026-06-17T06:47:31.8561228Z               "path": "crates/spt-store/src/db.rs",
2026-06-17T06:47:31.8561488Z               "line": 29
2026-06-17T06:47:31.8561727Z             },
2026-06-17T06:47:31.8561979Z             {
2026-06-17T06:47:31.8562309Z               "path": "crates/spt-store/src/notif.rs",
2026-06-17T06:47:31.8562566Z               "line": 101
2026-06-17T06:47:31.8562817Z             },
2026-06-17T06:47:31.8563067Z             {
2026-06-17T06:47:31.8563433Z               "path": "crates/spt-store/src/registry.rs",
2026-06-17T06:47:31.8563686Z               "line": 30
2026-06-17T06:47:31.8563940Z             },
2026-06-17T06:47:31.8564186Z             {
2026-06-17T06:47:31.8564522Z               "path": "crates/spt-store/src/spool.rs",
2026-06-17T06:47:31.8564779Z               "line": 48
2026-06-17T06:47:31.8565022Z             }
2026-06-17T06:47:31.8565261Z           ]
2026-06-17T06:47:31.8565505Z         },
2026-06-17T06:47:31.8565742Z         "int": {
2026-06-17T06:47:31.8566014Z           "complete": false,
2026-06-17T06:47:31.8566286Z           "evidence": []
2026-06-17T06:47:31.8566530Z         },
2026-06-17T06:47:31.8566776Z         "unit": {
2026-06-17T06:47:31.8567046Z           "complete": true,
2026-06-17T06:47:31.8567303Z           "evidence": [
2026-06-17T06:47:31.8567542Z             {
2026-06-17T06:47:31.8567889Z               "path": "crates/spt-store/src/registry.rs",
2026-06-17T06:47:31.8568152Z               "line": 162
2026-06-17T06:47:31.8568396Z             }
2026-06-17T06:47:31.8568653Z           ]
2026-06-17T06:47:31.8568886Z         }
2026-06-17T06:47:31.8569191Z       }
2026-06-17T06:47:31.8569443Z     },
2026-06-17T06:47:31.8569687Z     {
2026-06-17T06:47:31.8570002Z       "id": "REQ-HAZARD-REGISTRY-DIR-CREATE",
2026-06-17T06:47:31.8571050Z       "title": "SQLite store opens create their parent dir themselves — a fresh-home registry op must not SQLITE_CANTOPEN (4.9)",
2026-06-17T06:47:31.8571327Z       "requiredStages": [
2026-06-17T06:47:31.8571576Z         "doc",
2026-06-17T06:47:31.8571826Z         "impl",
2026-06-17T06:47:31.8572062Z         "unit"
2026-06-17T06:47:31.8572302Z       ],
2026-06-17T06:47:31.8572554Z       "stages": {
2026-06-17T06:47:31.8572806Z         "doc": {
2026-06-17T06:47:31.8573068Z           "complete": true,
2026-06-17T06:47:31.8573326Z           "evidence": [
2026-06-17T06:47:31.8573560Z             {
2026-06-17T06:47:31.8573865Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-17T06:47:31.8574119Z               "line": 151
2026-06-17T06:47:31.8574361Z             }
2026-06-17T06:47:31.8574603Z           ]
2026-06-17T06:47:31.8574850Z         },
2026-06-17T06:47:31.8575096Z         "impl": {
2026-06-17T06:47:31.8575358Z           "complete": true,
2026-06-17T06:47:31.8575625Z           "evidence": [
2026-06-17T06:47:31.8575874Z             {
2026-06-17T06:47:31.8576222Z               "path": "crates/spt-store/src/registry.rs",
2026-06-17T06:47:31.8576483Z               "line": 22
2026-06-17T06:47:31.8576723Z             }
2026-06-17T06:47:31.8576967Z           ]
2026-06-17T06:47:31.8577208Z         },
2026-06-17T06:47:31.8577458Z         "int": {
2026-06-17T06:47:31.8577726Z           "complete": false,
2026-06-17T06:47:31.8577993Z           "evidence": []
2026-06-17T06:47:31.8578230Z         },
2026-06-17T06:47:31.8578483Z         "unit": {
2026-06-17T06:47:31.8578746Z           "complete": true,
2026-06-17T06:47:31.8579184Z           "evidence": [
2026-06-17T06:47:31.8579436Z             {
2026-06-17T06:47:31.8579790Z               "path": "crates/spt-store/src/registry.rs",
2026-06-17T06:47:31.8580056Z               "line": 298
2026-06-17T06:47:31.8580304Z             }
2026-06-17T06:47:31.8580548Z           ]
2026-06-17T06:47:31.8580785Z         }
2026-06-17T06:47:31.8581018Z       }
2026-06-17T06:47:31.8581267Z     },
2026-06-17T06:47:31.8581502Z     {
2026-06-17T06:47:31.8581835Z       "id": "REQ-HAZARD-REGISTRY-EPOCH-LEASE",
2026-06-17T06:47:31.8583143Z       "title": "Registry merge ordered by per-node monotonic epoch, never wall-clock — a stale Active can't clobber a newer Offline (4.8, red-team #8)",
2026-06-17T06:47:31.8583415Z       "requiredStages": [
2026-06-17T06:47:31.8583667Z         "impl",
2026-06-17T06:47:31.8583905Z         "unit"
2026-06-17T06:47:31.8584153Z       ],
2026-06-17T06:47:31.8584402Z       "stages": {
2026-06-17T06:47:31.8584655Z         "doc": {
2026-06-17T06:47:31.8584921Z           "complete": true,
2026-06-17T06:47:31.8585196Z           "evidence": [
2026-06-17T06:47:31.8585456Z             {
2026-06-17T06:47:31.8585757Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-17T06:47:31.8586010Z               "line": 145
2026-06-17T06:47:31.8586248Z             }
2026-06-17T06:47:31.8586495Z           ]
2026-06-17T06:47:31.8586734Z         },
2026-06-17T06:47:31.8586983Z         "impl": {
2026-06-17T06:47:31.8587255Z           "complete": true,
2026-06-17T06:47:31.8587517Z           "evidence": [
2026-06-17T06:47:31.8587763Z             {
2026-06-17T06:47:31.8588137Z               "path": "crates/spt-daemon/src/pump/update.rs",
2026-06-17T06:47:31.8588394Z               "line": 160
2026-06-17T06:47:31.8588639Z             },
2026-06-17T06:47:31.8588877Z             {
2026-06-17T06:47:31.8589343Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T06:47:31.8589611Z               "line": 200
2026-06-17T06:47:31.8589860Z             },
2026-06-17T06:47:31.8590098Z             {
2026-06-17T06:47:31.8590456Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T06:47:31.8590716Z               "line": 298
2026-06-17T06:47:31.8590959Z             },
2026-06-17T06:47:31.8591203Z             {
2026-06-17T06:47:31.8591532Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-17T06:47:31.8591784Z               "line": 20
2026-06-17T06:47:31.8592033Z             }
2026-06-17T06:47:31.8592275Z           ]
2026-06-17T06:47:31.8592532Z         },
2026-06-17T06:47:31.8592776Z         "int": {
2026-06-17T06:47:31.8593046Z           "complete": false,
2026-06-17T06:47:31.8593302Z           "evidence": []
2026-06-17T06:47:31.8593578Z         },
2026-06-17T06:47:31.8593845Z         "unit": {
2026-06-17T06:47:31.8594145Z           "complete": true,
2026-06-17T06:47:31.8594422Z           "evidence": [
2026-06-17T06:47:31.8594684Z             {
2026-06-17T06:47:31.8595090Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T06:47:31.8595366Z               "line": 885
2026-06-17T06:47:31.8595648Z             },
2026-06-17T06:47:31.8595914Z             {
2026-06-17T06:47:31.8596317Z               "path": "crates/spt-daemon/tests/replicate.rs",
2026-06-17T06:47:31.8596599Z               "line": 88
2026-06-17T06:47:31.8596842Z             },
2026-06-17T06:47:31.8597079Z             {
2026-06-17T06:47:31.8597433Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T06:47:31.8597690Z               "line": 819
2026-06-17T06:47:31.8597942Z             },
2026-06-17T06:47:31.8598187Z             {
2026-06-17T06:47:31.8598546Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T06:47:31.8598803Z               "line": 838
2026-06-17T06:47:31.8599137Z             },
2026-06-17T06:47:31.8599385Z             {
2026-06-17T06:47:31.8599757Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-17T06:47:31.8600014Z               "line": 279
2026-06-17T06:47:31.8600256Z             },
2026-06-17T06:47:31.8600494Z             {
2026-06-17T06:47:31.8600925Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-17T06:47:31.8601185Z               "line": 82
2026-06-17T06:47:31.8601425Z             },
2026-06-17T06:47:31.8601682Z             {
2026-06-17T06:47:31.8602016Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-17T06:47:31.8602273Z               "line": 99
2026-06-17T06:47:31.8602525Z             },
2026-06-17T06:47:31.8602769Z             {
2026-06-17T06:47:31.8603102Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-17T06:47:31.8603454Z               "line": 119
2026-06-17T06:47:31.8603709Z             }
2026-06-17T06:47:31.8603968Z           ]
2026-06-17T06:47:31.8604201Z         }
2026-06-17T06:47:31.8604448Z       }
2026-06-17T06:47:31.8604686Z     },
2026-06-17T06:47:31.8604930Z     {
2026-06-17T06:47:31.8605249Z       "id": "REQ-HAZARD-REGISTRY-GHOST-ROWS",
2026-06-17T06:47:31.8608798Z       "title": "A dead node identity's registry rows must decay: only the per-(endpoint,node) epoch lease supersedes rows, so without eviction a vanished node's rows are immortal and poison bare-id resolution with phantom AcrossNodes ambiguity — evict rows whose author node has not been heard (admitted inbound feed) within the eviction window; own rows never decay; a revived node re-inserts from its durable epoch within one pump cadence (4.10)",
2026-06-17T06:47:31.8609143Z       "requiredStages": [
2026-06-17T06:47:31.8609392Z         "doc",
2026-06-17T06:47:31.8609644Z         "impl",
2026-06-17T06:47:31.8609896Z         "unit"
2026-06-17T06:47:31.8610144Z       ],
2026-06-17T06:47:31.8610397Z       "stages": {
2026-06-17T06:47:31.8610641Z         "doc": {
2026-06-17T06:47:31.8610904Z           "complete": true,
2026-06-17T06:47:31.8611160Z           "evidence": [
2026-06-17T06:47:31.8611408Z             {
2026-06-17T06:47:31.8611722Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-17T06:47:31.8611976Z               "line": 157
2026-06-17T06:47:31.8612223Z             }
2026-06-17T06:47:31.8612456Z           ]
2026-06-17T06:47:31.8612704Z         },
2026-06-17T06:47:31.8612947Z         "impl": {
2026-06-17T06:47:31.8613234Z           "complete": true,
2026-06-17T06:47:31.8613487Z           "evidence": [
2026-06-17T06:47:31.8613730Z             {
2026-06-17T06:47:31.8614114Z               "path": "crates/spt-daemon/src/pump/registry.rs",
2026-06-17T06:47:31.8614374Z               "line": 137
2026-06-17T06:47:31.8614622Z             },
2026-06-17T06:47:31.8614866Z             {
2026-06-17T06:47:31.8615251Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T06:47:31.8615505Z               "line": 512
2026-06-17T06:47:31.8615744Z             },
2026-06-17T06:47:31.8615986Z             {
2026-06-17T06:47:31.8616364Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T06:47:31.8616621Z               "line": 519
2026-06-17T06:47:31.8616858Z             },
2026-06-17T06:47:31.8617113Z             {
2026-06-17T06:47:31.8617475Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T06:47:31.8617738Z               "line": 227
2026-06-17T06:47:31.8617982Z             }
2026-06-17T06:47:31.8618234Z           ]
2026-06-17T06:47:31.8618481Z         },
2026-06-17T06:47:31.8618729Z         "int": {
2026-06-17T06:47:31.8619082Z           "complete": false,
2026-06-17T06:47:31.8619340Z           "evidence": []
2026-06-17T06:47:31.8619596Z         },
2026-06-17T06:47:31.8619846Z         "unit": {
2026-06-17T06:47:31.8620108Z           "complete": true,
2026-06-17T06:47:31.8620366Z           "evidence": [
2026-06-17T06:47:31.8620605Z             {
2026-06-17T06:47:31.8621001Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T06:47:31.8621258Z               "line": 1515
2026-06-17T06:47:31.8621511Z             },
2026-06-17T06:47:31.8621769Z             {
2026-06-17T06:47:31.8622150Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T06:47:31.8622406Z               "line": 1573
2026-06-17T06:47:31.8622644Z             },
2026-06-17T06:47:31.8623011Z             {
2026-06-17T06:47:31.8623374Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T06:47:31.8623641Z               "line": 851
2026-06-17T06:47:31.8623899Z             }
2026-06-17T06:47:31.8624137Z           ]
2026-06-17T06:47:31.8624381Z         }
2026-06-17T06:47:31.8624621Z       }
2026-06-17T06:47:31.8624877Z     },
2026-06-17T06:47:31.8625126Z     {
2026-06-17T06:47:31.8625459Z       "id": "REQ-HAZARD-REGISTRY-STALE-CLEAN",
2026-06-17T06:47:31.8626117Z       "title": "Stale registry entries degrade to fallback, never hard-fail (4.3)",
2026-06-17T06:47:31.8626388Z       "requiredStages": [
2026-06-17T06:47:31.8626652Z         "impl",
2026-06-17T06:47:31.8626900Z         "unit"
2026-06-17T06:47:31.8627152Z       ],
2026-06-17T06:47:31.8627394Z       "stages": {
2026-06-17T06:47:31.8627650Z         "doc": {
2026-06-17T06:47:31.8627921Z           "complete": false,
2026-06-17T06:47:31.8628183Z           "evidence": []
2026-06-17T06:47:31.8628440Z         },
2026-06-17T06:47:31.8628693Z         "impl": {
2026-06-17T06:47:31.8629070Z           "complete": true,
2026-06-17T06:47:31.8629351Z           "evidence": [
2026-06-17T06:47:31.8629627Z             {
2026-06-17T06:47:31.8629985Z               "path": "crates/spt-store/src/proc.rs",
2026-06-17T06:47:31.8630268Z               "line": 15
2026-06-17T06:47:31.8630546Z             },
2026-06-17T06:47:31.8630808Z             {
2026-06-17T06:47:31.8631189Z               "path": "crates/spt-store/src/registry.rs",
2026-06-17T06:47:31.8631475Z               "line": 55
2026-06-17T06:47:31.8631747Z             },
2026-06-17T06:47:31.8632000Z             {
2026-06-17T06:47:31.8632344Z               "path": "crates/spt-store/src/registry.rs",
2026-06-17T06:47:31.8632600Z               "line": 66
2026-06-17T06:47:31.8632852Z             },
2026-06-17T06:47:31.8633105Z             {
2026-06-17T06:47:31.8633453Z               "path": "crates/spt-store/src/registry.rs",
2026-06-17T06:47:31.8633710Z               "line": 115
2026-06-17T06:47:31.8633959Z             },
2026-06-17T06:47:31.8634210Z             {
2026-06-17T06:47:31.8634554Z               "path": "crates/spt-store/src/registry.rs",
2026-06-17T06:47:31.8634811Z               "line": 138
2026-06-17T06:47:31.8635064Z             }
2026-06-17T06:47:31.8635311Z           ]
2026-06-17T06:47:31.8635552Z         },
2026-06-17T06:47:31.8635799Z         "int": {
2026-06-17T06:47:31.8636080Z           "complete": false,
2026-06-17T06:47:31.8636344Z           "evidence": []
2026-06-17T06:47:31.8636587Z         },
2026-06-17T06:47:31.8636840Z         "unit": {
2026-06-17T06:47:31.8637106Z           "complete": true,
2026-06-17T06:47:31.8637373Z           "evidence": [
2026-06-17T06:47:31.8637616Z             {
2026-06-17T06:47:31.8637935Z               "path": "crates/spt-store/src/proc.rs",
2026-06-17T06:47:31.8638197Z               "line": 149
2026-06-17T06:47:31.8638438Z             },
2026-06-17T06:47:31.8638690Z             {
2026-06-17T06:47:31.8639107Z               "path": "crates/spt-store/src/proc.rs",
2026-06-17T06:47:31.8639363Z               "line": 155
2026-06-17T06:47:31.8639611Z             },
2026-06-17T06:47:31.8639858Z             {
2026-06-17T06:47:31.8640192Z               "path": "crates/spt-store/src/proc.rs",
2026-06-17T06:47:31.8640446Z               "line": 169
2026-06-17T06:47:31.8640707Z             },
2026-06-17T06:47:31.8640942Z             {
2026-06-17T06:47:31.8641272Z               "path": "crates/spt-store/src/proc.rs",
2026-06-17T06:47:31.8641534Z               "line": 178
2026-06-17T06:47:31.8641773Z             },
2026-06-17T06:47:31.8642025Z             {
2026-06-17T06:47:31.8642364Z               "path": "crates/spt-store/src/registry.rs",
2026-06-17T06:47:31.8642623Z               "line": 195
2026-06-17T06:47:31.8642875Z             },
2026-06-17T06:47:31.8643122Z             {
2026-06-17T06:47:31.8643473Z               "path": "crates/spt-store/src/registry.rs",
2026-06-17T06:47:31.8643731Z               "line": 208
2026-06-17T06:47:31.8644103Z             },
2026-06-17T06:47:31.8644342Z             {
2026-06-17T06:47:31.8644694Z               "path": "crates/spt-store/src/registry.rs",
2026-06-17T06:47:31.8644957Z               "line": 271
2026-06-17T06:47:31.8645196Z             },
2026-06-17T06:47:31.8645439Z             {
2026-06-17T06:47:31.8645771Z               "path": "crates/spt-store/src/registry.rs",
2026-06-17T06:47:31.8646030Z               "line": 290
2026-06-17T06:47:31.8646279Z             },
2026-06-17T06:47:31.8646622Z             {
2026-06-17T06:47:31.8646965Z               "path": "crates/spt-store/src/registry.rs",
2026-06-17T06:47:31.8647214Z               "line": 319
2026-06-17T06:47:31.8647467Z             }
2026-06-17T06:47:31.8647701Z           ]
2026-06-17T06:47:31.8647942Z         }
2026-06-17T06:47:31.8648185Z       }
2026-06-17T06:47:31.8648440Z     },
2026-06-17T06:47:31.8648681Z     {
2026-06-17T06:47:31.8649066Z       "id": "REQ-HAZARD-RESTART-IDEMPOTENT",
2026-06-17T06:47:31.8649837Z       "title": "Idempotent/exactly-once delivery across brain restart at every broker boundary (codex #14)",
2026-06-17T06:47:31.8650128Z       "requiredStages": [
2026-06-17T06:47:31.8650386Z         "impl",
2026-06-17T06:47:31.8650625Z         "unit",
2026-06-17T06:47:31.8650868Z         "int"
2026-06-17T06:47:31.8651124Z       ],
2026-06-17T06:47:31.8651365Z       "stages": {
2026-06-17T06:47:31.8651618Z         "doc": {
2026-06-17T06:47:31.8651880Z           "complete": false,
2026-06-17T06:47:31.8652156Z           "evidence": []
2026-06-17T06:47:31.8652404Z         },
2026-06-17T06:47:31.8652671Z         "impl": {
2026-06-17T06:47:31.8652947Z           "complete": true,
2026-06-17T06:47:31.8653206Z           "evidence": [
2026-06-17T06:47:31.8653454Z             {
2026-06-17T06:47:31.8653793Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-17T06:47:31.8654052Z               "line": 447
2026-06-17T06:47:31.8654296Z             },
2026-06-17T06:47:31.8654550Z             {
2026-06-17T06:47:31.8654888Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-17T06:47:31.8655140Z               "line": 867
2026-06-17T06:47:31.8655379Z             },
2026-06-17T06:47:31.8655622Z             {
2026-06-17T06:47:31.8655965Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-17T06:47:31.8656222Z               "line": 912
2026-06-17T06:47:31.8656482Z             },
2026-06-17T06:47:31.8656725Z             {
2026-06-17T06:47:31.8657069Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-17T06:47:31.8657383Z               "line": 937
2026-06-17T06:47:31.8657627Z             },
2026-06-17T06:47:31.8657873Z             {
2026-06-17T06:47:31.8658232Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-17T06:47:31.8658537Z               "line": 987
2026-06-17T06:47:31.8658785Z             },
2026-06-17T06:47:31.8659107Z             {
2026-06-17T06:47:31.8659467Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-17T06:47:31.8659753Z               "line": 1113
2026-06-17T06:47:31.8660049Z             },
2026-06-17T06:47:31.8660302Z             {
2026-06-17T06:47:31.8660640Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-17T06:47:31.8660894Z               "line": 1244
2026-06-17T06:47:31.8661143Z             },
2026-06-17T06:47:31.8661399Z             {
2026-06-17T06:47:31.8661740Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-17T06:47:31.8662025Z               "line": 1292
2026-06-17T06:47:31.8662282Z             },
2026-06-17T06:47:31.8662535Z             {
2026-06-17T06:47:31.8662912Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-17T06:47:31.8663174Z               "line": 46
2026-06-17T06:47:31.8663428Z             },
2026-06-17T06:47:31.8663685Z             {
2026-06-17T06:47:31.8664142Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-17T06:47:31.8664415Z               "line": 167
2026-06-17T06:47:31.8664680Z             },
2026-06-17T06:47:31.8664922Z             {
2026-06-17T06:47:31.8665400Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-17T06:47:31.8665663Z               "line": 132
2026-06-17T06:47:31.8665920Z             },
2026-06-17T06:47:31.8666177Z             {
2026-06-17T06:47:31.8666511Z               "path": "crates/spt-store/src/spool.rs",
2026-06-17T06:47:31.8666777Z               "line": 137
2026-06-17T06:47:31.8667028Z             },
2026-06-17T06:47:31.8667280Z             {
2026-06-17T06:47:31.8667619Z               "path": "crates/spt-store/src/spool.rs",
2026-06-17T06:47:31.8667977Z               "line": 183
2026-06-17T06:47:31.8668229Z             }
2026-06-17T06:47:31.8668477Z           ]
2026-06-17T06:47:31.8668720Z         },
2026-06-17T06:47:31.8669039Z         "int": {
2026-06-17T06:47:31.8669320Z           "complete": true,
2026-06-17T06:47:31.8669583Z           "evidence": [
2026-06-17T06:47:31.8669830Z             {
2026-06-17T06:47:31.8670205Z               "path": "crates/spt-daemon/tests/idempotent.rs",
2026-06-17T06:47:31.8670458Z               "line": 27
2026-06-17T06:47:31.8670710Z             },
2026-06-17T06:47:31.8670958Z             {
2026-06-17T06:47:31.8671330Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-17T06:47:31.8671606Z               "line": 148
2026-06-17T06:47:31.8671849Z             },
2026-06-17T06:47:31.8672093Z             {
2026-06-17T06:47:31.8672467Z               "path": "crates/spt-daemon/tests/netstream.rs",
2026-06-17T06:47:31.8672739Z               "line": 200
2026-06-17T06:47:31.8672991Z             }
2026-06-17T06:47:31.8673253Z           ]
2026-06-17T06:47:31.8673514Z         },
2026-06-17T06:47:31.8673920Z         "unit": {
2026-06-17T06:47:31.8674206Z           "complete": true,
2026-06-17T06:47:31.8674459Z           "evidence": [
2026-06-17T06:47:31.8674707Z             {
2026-06-17T06:47:31.8675054Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-17T06:47:31.8675322Z               "line": 313
2026-06-17T06:47:31.8675579Z             },
2026-06-17T06:47:31.8675831Z             {
2026-06-17T06:47:31.8676185Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-17T06:47:31.8676456Z               "line": 345
2026-06-17T06:47:31.8676713Z             },
2026-06-17T06:47:31.8676956Z             {
2026-06-17T06:47:31.8677304Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-17T06:47:31.8677565Z               "line": 366
2026-06-17T06:47:31.8677817Z             },
2026-06-17T06:47:31.8678064Z             {
2026-06-17T06:47:31.8678412Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-17T06:47:31.8678683Z               "line": 508
2026-06-17T06:47:31.8678927Z             },
2026-06-17T06:47:31.8679275Z             {
2026-06-17T06:47:31.8679638Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-17T06:47:31.8679890Z               "line": 289
2026-06-17T06:47:31.8680143Z             },
2026-06-17T06:47:31.8680390Z             {
2026-06-17T06:47:31.8680741Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-17T06:47:31.8680994Z               "line": 230
2026-06-17T06:47:31.8681240Z             },
2026-06-17T06:47:31.8681484Z             {
2026-06-17T06:47:31.8681828Z               "path": "crates/spt-store/src/spool.rs",
2026-06-17T06:47:31.8682095Z               "line": 526
2026-06-17T06:47:31.8682339Z             },
2026-06-17T06:47:31.8682597Z             {
2026-06-17T06:47:31.8682938Z               "path": "crates/spt-store/src/spool.rs",
2026-06-17T06:47:31.8683207Z               "line": 556
2026-06-17T06:47:31.8683454Z             }
2026-06-17T06:47:31.8683704Z           ]
2026-06-17T06:47:31.8683961Z         }
2026-06-17T06:47:31.8684200Z       }
2026-06-17T06:47:31.8684447Z     },
2026-06-17T06:47:31.8684686Z     {
2026-06-17T06:47:31.8685057Z       "id": "REQ-HAZARD-ROLLBACK-STATE-COMPAT",
2026-06-17T06:47:31.8689783Z       "title": "A brain must not irreversibly migrate durable state before update ready-promotion: the readiness-gated auto-rollback (ADR-0018 Q7) spawns the N-1 binary against durable state the new brain may have written, so every pre-ready write must stay N-1-readable (schema migrations gated behind ready-promotion, or written N-1-tolerant/additive). Else the first in-place schema migration silently bricks rollback (KNOWN-HAZARDS 6.8). Free now — a 2026-06-09 audit confirmed zero state-migration code exists; unmintable retroactively once a migration ships.",
2026-06-17T06:47:31.8690193Z       "requiredStages": [
2026-06-17T06:47:31.8690450Z         "doc",
2026-06-17T06:47:31.8690703Z         "impl",
2026-06-17T06:47:31.8691067Z         "unit"
2026-06-17T06:47:31.8691321Z       ],
2026-06-17T06:47:31.8691569Z       "stages": {
2026-06-17T06:47:31.8691825Z         "doc": {
2026-06-17T06:47:31.8692087Z           "complete": true,
2026-06-17T06:47:31.8692350Z           "evidence": [
2026-06-17T06:47:31.8692603Z             {
2026-06-17T06:47:31.8692913Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-17T06:47:31.8693185Z               "line": 314
2026-06-17T06:47:31.8693431Z             }
2026-06-17T06:47:31.8693686Z           ]
2026-06-17T06:47:31.8693921Z         },
2026-06-17T06:47:31.8694173Z         "impl": {
2026-06-17T06:47:31.8694445Z           "complete": true,
2026-06-17T06:47:31.8694697Z           "evidence": [
2026-06-17T06:47:31.8694964Z             {
2026-06-17T06:47:31.8695355Z               "path": "crates/spt-daemon/src/rollback_compat.rs",
2026-06-17T06:47:31.8695622Z               "line": 33
2026-06-17T06:47:31.8695870Z             },
2026-06-17T06:47:31.8696128Z             {
2026-06-17T06:47:31.8696523Z               "path": "crates/spt-daemon/src/rollback_compat.rs",
2026-06-17T06:47:31.8696780Z               "line": 39
2026-06-17T06:47:31.8697029Z             }
2026-06-17T06:47:31.8697266Z           ]
2026-06-17T06:47:31.8697519Z         },
2026-06-17T06:47:31.8697757Z         "int": {
2026-06-17T06:47:31.8698035Z           "complete": false,
2026-06-17T06:47:31.8698307Z           "evidence": []
2026-06-17T06:47:31.8698547Z         },
2026-06-17T06:47:31.8698798Z         "unit": {
2026-06-17T06:47:31.8699160Z           "complete": true,
2026-06-17T06:47:31.8699437Z           "evidence": [
2026-06-17T06:47:31.8699686Z             {
2026-06-17T06:47:31.8700075Z               "path": "crates/spt-daemon/src/rollback_compat.rs",
2026-06-17T06:47:31.8700339Z               "line": 95
2026-06-17T06:47:31.8700587Z             }
2026-06-17T06:47:31.8700840Z           ]
2026-06-17T06:47:31.8701078Z         }
2026-06-17T06:47:31.8701329Z       }
2026-06-17T06:47:31.8701571Z     },
2026-06-17T06:47:31.8701818Z     {
2026-06-17T06:47:31.8702134Z       "id": "REQ-HAZARD-SELF-ELEVATE",
2026-06-17T06:47:31.8708097Z       "title": "Self-elevation (REQ-ELEVATE-1) re-runs the EXACT original invocation with the binary's ABSOLUTE exe path — never widening privilege scope, never adding/altering args, never via a PATH-resolved bare name, never via a shell-interpolated command string (argv-array only, no `sh -c`); the elevated child drops state back to the user (composes with the 5.7 de-elevation) and NEVER re-elevates (loop-safe: decide_elevation_path returns AlreadyElevated whenever the process is already Elevated, on every OS). The user's UAC/polkit/sudo prompt is the only consent gate — we never bypass it; the print-hint floor prints the absolute-path command too. The unprivileged parent never depends on (pipes/captures) the privileged child's stdout.",
2026-06-17T06:47:31.8708394Z       "requiredStages": [
2026-06-17T06:47:31.8708660Z         "unit"
2026-06-17T06:47:31.8708900Z       ],
2026-06-17T06:47:31.8709218Z       "stages": {
2026-06-17T06:47:31.8709468Z         "doc": {
2026-06-17T06:47:31.8709744Z           "complete": false,
2026-06-17T06:47:31.8710011Z           "evidence": []
2026-06-17T06:47:31.8710255Z         },
2026-06-17T06:47:31.8710503Z         "impl": {
2026-06-17T06:47:31.8710770Z           "complete": true,
2026-06-17T06:47:31.8711032Z           "evidence": [
2026-06-17T06:47:31.8711280Z             {
2026-06-17T06:47:31.8711599Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.8711970Z               "line": 3244
2026-06-17T06:47:31.8712221Z             },
2026-06-17T06:47:31.8712475Z             {
2026-06-17T06:47:31.8712779Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.8713047Z               "line": 3296
2026-06-17T06:47:31.8713299Z             },
2026-06-17T06:47:31.8713551Z             {
2026-06-17T06:47:31.8713871Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.8714133Z               "line": 3341
2026-06-17T06:47:31.8714480Z             },
2026-06-17T06:47:31.8714716Z             {
2026-06-17T06:47:31.8715041Z               "path": "crates/spt/src/elevation.rs",
2026-06-17T06:47:31.8715298Z               "line": 92
2026-06-17T06:47:31.8715551Z             },
2026-06-17T06:47:31.8715802Z             {
2026-06-17T06:47:31.8716137Z               "path": "crates/spt/src/elevation.rs",
2026-06-17T06:47:31.8716404Z               "line": 148
2026-06-17T06:47:31.8716651Z             },
2026-06-17T06:47:31.8716900Z             {
2026-06-17T06:47:31.8717234Z               "path": "crates/spt/src/elevation.rs",
2026-06-17T06:47:31.8717495Z               "line": 192
2026-06-17T06:47:31.8717752Z             },
2026-06-17T06:47:31.8717995Z             {
2026-06-17T06:47:31.8718324Z               "path": "crates/spt/src/elevation.rs",
2026-06-17T06:47:31.8718577Z               "line": 200
2026-06-17T06:47:31.8718840Z             },
2026-06-17T06:47:31.8719169Z             {
2026-06-17T06:47:31.8719502Z               "path": "crates/spt/src/elevation.rs",
2026-06-17T06:47:31.8719763Z               "line": 211
2026-06-17T06:47:31.8720014Z             },
2026-06-17T06:47:31.8720266Z             {
2026-06-17T06:47:31.8720581Z               "path": "crates/spt/src/elevation.rs",
2026-06-17T06:47:31.8720853Z               "line": 265
2026-06-17T06:47:31.8721092Z             },
2026-06-17T06:47:31.8721350Z             {
2026-06-17T06:47:31.8721679Z               "path": "crates/spt/src/elevation.rs",
2026-06-17T06:47:31.8721937Z               "line": 279
2026-06-17T06:47:31.8722193Z             }
2026-06-17T06:47:31.8722449Z           ]
2026-06-17T06:47:31.8722696Z         },
2026-06-17T06:47:31.8722948Z         "int": {
2026-06-17T06:47:31.8723215Z           "complete": false,
2026-06-17T06:47:31.8723491Z           "evidence": []
2026-06-17T06:47:31.8723730Z         },
2026-06-17T06:47:31.8723982Z         "unit": {
2026-06-17T06:47:31.8724255Z           "complete": true,
2026-06-17T06:47:31.8724527Z           "evidence": [
2026-06-17T06:47:31.8724774Z             {
2026-06-17T06:47:31.8725106Z               "path": "crates/spt/src/elevation.rs",
2026-06-17T06:47:31.8725371Z               "line": 419
2026-06-17T06:47:31.8725619Z             },
2026-06-17T06:47:31.8725877Z             {
2026-06-17T06:47:31.8726201Z               "path": "crates/spt/src/elevation.rs",
2026-06-17T06:47:31.8726469Z               "line": 470
2026-06-17T06:47:31.8726716Z             },
2026-06-17T06:47:31.8726978Z             {
2026-06-17T06:47:31.8727303Z               "path": "crates/spt/src/elevation.rs",
2026-06-17T06:47:31.8727569Z               "line": 499
2026-06-17T06:47:31.8727822Z             },
2026-06-17T06:47:31.8728074Z             {
2026-06-17T06:47:31.8728408Z               "path": "crates/spt/src/elevation.rs",
2026-06-17T06:47:31.8728666Z               "line": 526
2026-06-17T06:47:31.8728917Z             }
2026-06-17T06:47:31.8729228Z           ]
2026-06-17T06:47:31.8729471Z         }
2026-06-17T06:47:31.8729724Z       }
2026-06-17T06:47:31.8729969Z     },
2026-06-17T06:47:31.8730228Z     {
2026-06-17T06:47:31.8730545Z       "id": "REQ-HAZARD-SINGLE-PATH-SOURCE",
2026-06-17T06:47:31.8731098Z       "title": "Single path/registry source of truth; no layout ambiguity (6.1)",
2026-06-17T06:47:31.8731380Z       "requiredStages": [
2026-06-17T06:47:31.8731628Z         "impl",
2026-06-17T06:47:31.8731872Z         "unit"
2026-06-17T06:47:31.8732123Z       ],
2026-06-17T06:47:31.8732382Z       "stages": {
2026-06-17T06:47:31.8732629Z         "doc": {
2026-06-17T06:47:31.8733014Z           "complete": false,
2026-06-17T06:47:31.8733289Z           "evidence": []
2026-06-17T06:47:31.8733542Z         },
2026-06-17T06:47:31.8733795Z         "impl": {
2026-06-17T06:47:31.8734056Z           "complete": true,
2026-06-17T06:47:31.8734313Z           "evidence": [
2026-06-17T06:47:31.8734561Z             {
2026-06-17T06:47:31.8734948Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-17T06:47:31.8735210Z               "line": 62
2026-06-17T06:47:31.8735557Z             },
2026-06-17T06:47:31.8735814Z             {
2026-06-17T06:47:31.8736189Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-17T06:47:31.8736451Z               "line": 71
2026-06-17T06:47:31.8736695Z             },
2026-06-17T06:47:31.8736942Z             {
2026-06-17T06:47:31.8737325Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-17T06:47:31.8737576Z               "line": 80
2026-06-17T06:47:31.8737834Z             },
2026-06-17T06:47:31.8738081Z             {
2026-06-17T06:47:31.8738448Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-17T06:47:31.8738711Z               "line": 88
2026-06-17T06:47:31.8739049Z             },
2026-06-17T06:47:31.8739311Z             {
2026-06-17T06:47:31.8739645Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T06:47:31.8739909Z               "line": 33
2026-06-17T06:47:31.8740151Z             },
2026-06-17T06:47:31.8740432Z             {
2026-06-17T06:47:31.8740769Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T06:47:31.8741029Z               "line": 65
2026-06-17T06:47:31.8741283Z             },
2026-06-17T06:47:31.8741531Z             {
2026-06-17T06:47:31.8741869Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T06:47:31.8742127Z               "line": 74
2026-06-17T06:47:31.8742374Z             },
2026-06-17T06:47:31.8742612Z             {
2026-06-17T06:47:31.8742942Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T06:47:31.8743198Z               "line": 93
2026-06-17T06:47:31.8743438Z             },
2026-06-17T06:47:31.8743684Z             {
2026-06-17T06:47:31.8744025Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T06:47:31.8744287Z               "line": 102
2026-06-17T06:47:31.8744535Z             },
2026-06-17T06:47:31.8744779Z             {
2026-06-17T06:47:31.8745117Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T06:47:31.8745385Z               "line": 111
2026-06-17T06:47:31.8745643Z             },
2026-06-17T06:47:31.8745890Z             {
2026-06-17T06:47:31.8746231Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T06:47:31.8746501Z               "line": 122
2026-06-17T06:47:31.8746745Z             },
2026-06-17T06:47:31.8747002Z             {
2026-06-17T06:47:31.8747326Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T06:47:31.8747589Z               "line": 140
2026-06-17T06:47:31.8747836Z             },
2026-06-17T06:47:31.8748089Z             {
2026-06-17T06:47:31.8754733Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T06:47:31.8755067Z               "line": 149
2026-06-17T06:47:31.8755315Z             },
2026-06-17T06:47:31.8755569Z             {
2026-06-17T06:47:31.8755921Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T06:47:31.8756184Z               "line": 158
2026-06-17T06:47:31.8756440Z             },
2026-06-17T06:47:31.8756692Z             {
2026-06-17T06:47:31.8757028Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T06:47:31.8757310Z               "line": 169
2026-06-17T06:47:31.8757553Z             },
2026-06-17T06:47:31.8757806Z             {
2026-06-17T06:47:31.8758140Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T06:47:31.8758406Z               "line": 177
2026-06-17T06:47:31.8758663Z             },
2026-06-17T06:47:31.8758906Z             {
2026-06-17T06:47:31.8759346Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T06:47:31.8759625Z               "line": 186
2026-06-17T06:47:31.8760050Z             },
2026-06-17T06:47:31.8760298Z             {
2026-06-17T06:47:31.8760627Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T06:47:31.8760884Z               "line": 195
2026-06-17T06:47:31.8761132Z             },
2026-06-17T06:47:31.8761386Z             {
2026-06-17T06:47:31.8761720Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T06:47:31.8761980Z               "line": 204
2026-06-17T06:47:31.8762245Z             },
2026-06-17T06:47:31.8762593Z             {
2026-06-17T06:47:31.8762942Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T06:47:31.8763204Z               "line": 216
2026-06-17T06:47:31.8763451Z             },
2026-06-17T06:47:31.8763695Z             {
2026-06-17T06:47:31.8764042Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T06:47:31.8764309Z               "line": 223
2026-06-17T06:47:31.8764545Z             },
2026-06-17T06:47:31.8764795Z             {
2026-06-17T06:47:31.8765140Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T06:47:31.8765407Z               "line": 232
2026-06-17T06:47:31.8765655Z             },
2026-06-17T06:47:31.8765909Z             {
2026-06-17T06:47:31.8766252Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T06:47:31.8766505Z               "line": 239
2026-06-17T06:47:31.8766763Z             },
2026-06-17T06:47:31.8767010Z             {
2026-06-17T06:47:31.8767342Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T06:47:31.8767602Z               "line": 306
2026-06-17T06:47:31.8767851Z             },
2026-06-17T06:47:31.8768109Z             {
2026-06-17T06:47:31.8768442Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T06:47:31.8768695Z               "line": 318
2026-06-17T06:47:31.8769039Z             },
2026-06-17T06:47:31.8769286Z             {
2026-06-17T06:47:31.8769635Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T06:47:31.8769902Z               "line": 405
2026-06-17T06:47:31.8770152Z             }
2026-06-17T06:47:31.8770387Z           ]
2026-06-17T06:47:31.8770640Z         },
2026-06-17T06:47:31.8770892Z         "int": {
2026-06-17T06:47:31.8771168Z           "complete": false,
2026-06-17T06:47:31.8771430Z           "evidence": []
2026-06-17T06:47:31.8771683Z         },
2026-06-17T06:47:31.8771932Z         "unit": {
2026-06-17T06:47:31.8772199Z           "complete": true,
2026-06-17T06:47:31.8772458Z           "evidence": [
2026-06-17T06:47:31.8772700Z             {
2026-06-17T06:47:31.8773029Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T06:47:31.8773283Z               "line": 487
2026-06-17T06:47:31.8773521Z             },
2026-06-17T06:47:31.8773774Z             {
2026-06-17T06:47:31.8774098Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T06:47:31.8774359Z               "line": 528
2026-06-17T06:47:31.8774607Z             },
2026-06-17T06:47:31.8774851Z             {
2026-06-17T06:47:31.8775184Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T06:47:31.8775488Z               "line": 541
2026-06-17T06:47:31.8775734Z             },
2026-06-17T06:47:31.8775977Z             {
2026-06-17T06:47:31.8776316Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T06:47:31.8776583Z               "line": 627
2026-06-17T06:47:31.8776836Z             }
2026-06-17T06:47:31.8777084Z           ]
2026-06-17T06:47:31.8777328Z         }
2026-06-17T06:47:31.8777570Z       }
2026-06-17T06:47:31.8777822Z     },
2026-06-17T06:47:31.8778068Z     {
2026-06-17T06:47:31.8778364Z       "id": "REQ-HAZARD-SOFT-CLEANUP",
2026-06-17T06:47:31.8778931Z       "title": "Soft-cleanup preserves state, removes only the ready marker (6.2)",
2026-06-17T06:47:31.8779298Z       "requiredStages": [
2026-06-17T06:47:31.8779570Z         "impl",
2026-06-17T06:47:31.8779827Z         "unit"
2026-06-17T06:47:31.8780075Z       ],
2026-06-17T06:47:31.8780332Z       "stages": {
2026-06-17T06:47:31.8780576Z         "doc": {
2026-06-17T06:47:31.8780971Z           "complete": false,
2026-06-17T06:47:31.8781238Z           "evidence": []
2026-06-17T06:47:31.8781486Z         },
2026-06-17T06:47:31.8781738Z         "impl": {
2026-06-17T06:47:31.8782000Z           "complete": true,
2026-06-17T06:47:31.8782257Z           "evidence": [
2026-06-17T06:47:31.8782501Z             {
2026-06-17T06:47:31.8782835Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-17T06:47:31.8783086Z               "line": 152
2026-06-17T06:47:31.8783336Z             },
2026-06-17T06:47:31.8783684Z             {
2026-06-17T06:47:31.8784043Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T06:47:31.8784309Z               "line": 167
2026-06-17T06:47:31.8784557Z             }
2026-06-17T06:47:31.8784810Z           ]
2026-06-17T06:47:31.8785059Z         },
2026-06-17T06:47:31.8785316Z         "int": {
2026-06-17T06:47:31.8785578Z           "complete": false,
2026-06-17T06:47:31.8785839Z           "evidence": []
2026-06-17T06:47:31.8786085Z         },
2026-06-17T06:47:31.8786338Z         "unit": {
2026-06-17T06:47:31.8786595Z           "complete": true,
2026-06-17T06:47:31.8786856Z           "evidence": [
2026-06-17T06:47:31.8787114Z             {
2026-06-17T06:47:31.8787429Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-17T06:47:31.8787691Z               "line": 274
2026-06-17T06:47:31.8787945Z             },
2026-06-17T06:47:31.8788179Z             {
2026-06-17T06:47:31.8788539Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T06:47:31.8788789Z               "line": 832
2026-06-17T06:47:31.8789119Z             },
2026-06-17T06:47:31.8789381Z             {
2026-06-17T06:47:31.8789743Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T06:47:31.8790015Z               "line": 845
2026-06-17T06:47:31.8790263Z             }
2026-06-17T06:47:31.8790502Z           ]
2026-06-17T06:47:31.8790755Z         }
2026-06-17T06:47:31.8791012Z       }
2026-06-17T06:47:31.8791263Z     },
2026-06-17T06:47:31.8791512Z     {
2026-06-17T06:47:31.8791826Z       "id": "REQ-HAZARD-STALE-INDEX-LOCK",
2026-06-17T06:47:31.8792212Z       "title": "Sweep stale lockfiles on daemon boot (1.3)",
2026-06-17T06:47:31.8792488Z       "requiredStages": [
2026-06-17T06:47:31.8792732Z         "impl",
2026-06-17T06:47:31.8792976Z         "unit"
2026-06-17T06:47:31.8793227Z       ],
2026-06-17T06:47:31.8793484Z       "stages": {
2026-06-17T06:47:31.8793745Z         "doc": {
2026-06-17T06:47:31.8794007Z           "complete": false,
2026-06-17T06:47:31.8794274Z           "evidence": []
2026-06-17T06:47:31.8794521Z         },
2026-06-17T06:47:31.8794779Z         "impl": {
2026-06-17T06:47:31.8795051Z           "complete": true,
2026-06-17T06:47:31.8795309Z           "evidence": [
2026-06-17T06:47:31.8795557Z             {
2026-06-17T06:47:31.8795905Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-17T06:47:31.8796172Z               "line": 116
2026-06-17T06:47:31.8796418Z             },
2026-06-17T06:47:31.8796664Z             {
2026-06-17T06:47:31.8797030Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-17T06:47:31.8797294Z               "line": 481
2026-06-17T06:47:31.8797546Z             }
2026-06-17T06:47:31.8797799Z           ]
2026-06-17T06:47:31.8798051Z         },
2026-06-17T06:47:31.8798290Z         "int": {
2026-06-17T06:47:31.8798556Z           "complete": false,
2026-06-17T06:47:31.8798825Z           "evidence": []
2026-06-17T06:47:31.8799133Z         },
2026-06-17T06:47:31.8799397Z         "unit": {
2026-06-17T06:47:31.8799669Z           "complete": true,
2026-06-17T06:47:31.8799936Z           "evidence": [
2026-06-17T06:47:31.8800179Z             {
2026-06-17T06:47:31.8800551Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-17T06:47:31.8800809Z               "line": 515
2026-06-17T06:47:31.8801057Z             }
2026-06-17T06:47:31.8801306Z           ]
2026-06-17T06:47:31.8801538Z         }
2026-06-17T06:47:31.8801780Z       }
2026-06-17T06:47:31.8802010Z     },
2026-06-17T06:47:31.8802262Z     {
2026-06-17T06:47:31.8802715Z       "id": "REQ-HAZARD-STALE-SIGNOFF-SENTINEL",
2026-06-17T06:47:31.8803197Z       "title": "Stale signoff sentinel does not kill a fresh start (3.2)",
2026-06-17T06:47:31.8803482Z       "requiredStages": [
2026-06-17T06:47:31.8803725Z         "impl",
2026-06-17T06:47:31.8803988Z         "unit"
2026-06-17T06:47:31.8804239Z       ],
2026-06-17T06:47:31.8804500Z       "stages": {
2026-06-17T06:47:31.8804742Z         "doc": {
2026-06-17T06:47:31.8805010Z           "complete": false,
2026-06-17T06:47:31.8805372Z           "evidence": []
2026-06-17T06:47:31.8805621Z         },
2026-06-17T06:47:31.8805878Z         "impl": {
2026-06-17T06:47:31.8806146Z           "complete": true,
2026-06-17T06:47:31.8806408Z           "evidence": [
2026-06-17T06:47:31.8806659Z             {
2026-06-17T06:47:31.8807016Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-17T06:47:31.8807280Z               "line": 527
2026-06-17T06:47:31.8807520Z             },
2026-06-17T06:47:31.8807773Z             {
2026-06-17T06:47:31.8808107Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-17T06:47:31.8808359Z               "line": 28
2026-06-17T06:47:31.8808612Z             }
2026-06-17T06:47:31.8808845Z           ]
2026-06-17T06:47:31.8809188Z         },
2026-06-17T06:47:31.8809445Z         "int": {
2026-06-17T06:47:31.8809721Z           "complete": false,
2026-06-17T06:47:31.8809981Z           "evidence": []
2026-06-17T06:47:31.8810234Z         },
2026-06-17T06:47:31.8810491Z         "unit": {
2026-06-17T06:47:31.8810758Z           "complete": true,
2026-06-17T06:47:31.8811030Z           "evidence": [
2026-06-17T06:47:31.8811275Z             {
2026-06-17T06:47:31.8811618Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-17T06:47:31.8811870Z               "line": 229
2026-06-17T06:47:31.8812123Z             }
2026-06-17T06:47:31.8812369Z           ]
2026-06-17T06:47:31.8812613Z         }
2026-06-17T06:47:31.8812866Z       }
2026-06-17T06:47:31.8813108Z     },
2026-06-17T06:47:31.8813356Z     {
2026-06-17T06:47:31.8813670Z       "id": "REQ-HAZARD-STDIN-SESSION-ID",
2026-06-17T06:47:31.8814062Z       "title": "Stdin session_id precedence over env (2.2)",
2026-06-17T06:47:31.8814348Z       "requiredStages": [],
2026-06-17T06:47:31.8814605Z       "stages": {
2026-06-17T06:47:31.8814856Z         "doc": {
2026-06-17T06:47:31.8815127Z           "complete": false,
2026-06-17T06:47:31.8815399Z           "evidence": []
2026-06-17T06:47:31.8815655Z         },
2026-06-17T06:47:31.8815913Z         "impl": {
2026-06-17T06:47:31.8816190Z           "complete": false,
2026-06-17T06:47:31.8816452Z           "evidence": []
2026-06-17T06:47:31.8816720Z         },
2026-06-17T06:47:31.8817002Z         "int": {
2026-06-17T06:47:31.8817292Z           "complete": false,
2026-06-17T06:47:31.8817576Z           "evidence": []
2026-06-17T06:47:31.8817850Z         },
2026-06-17T06:47:31.8818142Z         "unit": {
2026-06-17T06:47:31.8818428Z           "complete": false,
2026-06-17T06:47:31.8818714Z           "evidence": []
2026-06-17T06:47:31.8819052Z         }
2026-06-17T06:47:31.8819306Z       }
2026-06-17T06:47:31.8819540Z     },
2026-06-17T06:47:31.8819786Z     {
2026-06-17T06:47:31.8820105Z       "id": "REQ-HAZARD-SUBPROCESS-TIMEOUT",
2026-06-17T06:47:31.8820532Z       "title": "Every harness/git subprocess has a timeout (5.3)",
2026-06-17T06:47:31.8820813Z       "requiredStages": [
2026-06-17T06:47:31.8821061Z         "impl",
2026-06-17T06:47:31.8821314Z         "unit"
2026-06-17T06:47:31.8821562Z       ],
2026-06-17T06:47:31.8821816Z       "stages": {
2026-06-17T06:47:31.8822067Z         "doc": {
2026-06-17T06:47:31.8822329Z           "complete": false,
2026-06-17T06:47:31.8822596Z           "evidence": []
2026-06-17T06:47:31.8822845Z         },
2026-06-17T06:47:31.8823101Z         "impl": {
2026-06-17T06:47:31.8823363Z           "complete": true,
2026-06-17T06:47:31.8823620Z           "evidence": [
2026-06-17T06:47:31.8823864Z             {
2026-06-17T06:47:31.8824193Z               "path": "crates/spt-live/src/turn.rs",
2026-06-17T06:47:31.8824555Z               "line": 19
2026-06-17T06:47:31.8824793Z             },
2026-06-17T06:47:31.8825048Z             {
2026-06-17T06:47:31.8825397Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-17T06:47:31.8825654Z               "line": 421
2026-06-17T06:47:31.8825906Z             },
2026-06-17T06:47:31.8826139Z             {
2026-06-17T06:47:31.8826497Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-17T06:47:31.8826889Z               "line": 457
2026-06-17T06:47:31.8827146Z             },
2026-06-17T06:47:31.8827398Z             {
2026-06-17T06:47:31.8827756Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-17T06:47:31.8828018Z               "line": 505
2026-06-17T06:47:31.8828269Z             },
2026-06-17T06:47:31.8828521Z             {
2026-06-17T06:47:31.8828860Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-17T06:47:31.8829198Z               "line": 15
2026-06-17T06:47:31.8829465Z             },
2026-06-17T06:47:31.8829712Z             {
2026-06-17T06:47:31.8830056Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-17T06:47:31.8830309Z               "line": 48
2026-06-17T06:47:31.8830561Z             },
2026-06-17T06:47:31.8830808Z             {
2026-06-17T06:47:31.8831154Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-17T06:47:31.8831407Z               "line": 119
2026-06-17T06:47:31.8831645Z             },
2026-06-17T06:47:31.8831898Z             {
2026-06-17T06:47:31.8832194Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.8832475Z               "line": 3672
2026-06-17T06:47:31.8832709Z             }
2026-06-17T06:47:31.8832962Z           ]
2026-06-17T06:47:31.8833214Z         },
2026-06-17T06:47:31.8833466Z         "int": {
2026-06-17T06:47:31.8833739Z           "complete": false,
2026-06-17T06:47:31.8834005Z           "evidence": []
2026-06-17T06:47:31.8834258Z         },
2026-06-17T06:47:31.8834505Z         "unit": {
2026-06-17T06:47:31.8834786Z           "complete": true,
2026-06-17T06:47:31.8835048Z           "evidence": [
2026-06-17T06:47:31.8835293Z             {
2026-06-17T06:47:31.8835654Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-17T06:47:31.8835906Z               "line": 723
2026-06-17T06:47:31.8836161Z             },
2026-06-17T06:47:31.8836404Z             {
2026-06-17T06:47:31.8836743Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-17T06:47:31.8837009Z               "line": 165
2026-06-17T06:47:31.8837248Z             },
2026-06-17T06:47:31.8837488Z             {
2026-06-17T06:47:31.8837817Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-17T06:47:31.8838088Z               "line": 175
2026-06-17T06:47:31.8838336Z             }
2026-06-17T06:47:31.8838578Z           ]
2026-06-17T06:47:31.8838829Z         }
2026-06-17T06:47:31.8839163Z       }
2026-06-17T06:47:31.8839425Z     },
2026-06-17T06:47:31.8839667Z     {
2026-06-17T06:47:31.8839982Z       "id": "REQ-HAZARD-SUDO-SECURE-PATH",
2026-06-17T06:47:31.8842415Z       "title": "Elevation guidance on Unix names the binary's ABSOLUTE path under sudo (a user-local install ~/.local/bin · ~/.cargo/bin is not on sudo's secure_path, so bare `sudo spt` dies 'command not found'); gated commands auto-elevate on an interactive TTY, else print the runnable hint (5.10)",
2026-06-17T06:47:31.8842706Z       "requiredStages": [
2026-06-17T06:47:31.8842964Z         "impl",
2026-06-17T06:47:31.8843212Z         "unit"
2026-06-17T06:47:31.8843473Z       ],
2026-06-17T06:47:31.8843721Z       "stages": {
2026-06-17T06:47:31.8843989Z         "doc": {
2026-06-17T06:47:31.8844265Z           "complete": false,
2026-06-17T06:47:31.8844522Z           "evidence": []
2026-06-17T06:47:31.8844779Z         },
2026-06-17T06:47:31.8845027Z         "impl": {
2026-06-17T06:47:31.8845314Z           "complete": true,
2026-06-17T06:47:31.8845576Z           "evidence": [
2026-06-17T06:47:31.8845844Z             {
2026-06-17T06:47:31.8846177Z               "path": "crates/spt/src/elevation.rs",
2026-06-17T06:47:31.8846546Z               "line": 192
2026-06-17T06:47:31.8846803Z             },
2026-06-17T06:47:31.8847060Z             {
2026-06-17T06:47:31.8847394Z               "path": "crates/spt/src/elevation.rs",
2026-06-17T06:47:31.8847646Z               "line": 279
2026-06-17T06:47:31.8847894Z             }
2026-06-17T06:47:31.8848147Z           ]
2026-06-17T06:47:31.8848391Z         },
2026-06-17T06:47:31.8848644Z         "int": {
2026-06-17T06:47:31.8849105Z           "complete": false,
2026-06-17T06:47:31.8849367Z           "evidence": []
2026-06-17T06:47:31.8849617Z         },
2026-06-17T06:47:31.8849869Z         "unit": {
2026-06-17T06:47:31.8850151Z           "complete": true,
2026-06-17T06:47:31.8850400Z           "evidence": [
2026-06-17T06:47:31.8850652Z             {
2026-06-17T06:47:31.8850981Z               "path": "crates/spt/src/elevation.rs",
2026-06-17T06:47:31.8851249Z               "line": 470
2026-06-17T06:47:31.8851491Z             },
2026-06-17T06:47:31.8851752Z             {
2026-06-17T06:47:31.8852083Z               "path": "crates/spt/src/elevation.rs",
2026-06-17T06:47:31.8852332Z               "line": 526
2026-06-17T06:47:31.8852585Z             }
2026-06-17T06:47:31.8852838Z           ]
2026-06-17T06:47:31.8853084Z         }
2026-06-17T06:47:31.8853328Z       }
2026-06-17T06:47:31.8853576Z     },
2026-06-17T06:47:31.8853811Z     {
2026-06-17T06:47:31.8854149Z       "id": "REQ-HAZARD-TEMPLATE-ARGV-FILL",
2026-06-17T06:47:31.8864652Z       "title": "Command-template substitution fills argv ELEMENTS, not a re-tokenized string: spt-core currently `fill_template`s {key} values INTO the command STRING and THEN `tokenize`s the filled string (runtime.rs:94/122), so a multi-word {key} value whitespace-SPLITS into multiple argv tokens unless the adapter hand-quotes the placeholder, and a value containing a `\"` (or `;`) injects/breaks tokenization (shell-injection-adjacent). A filled value MUST become exactly ONE argv element regardless of spaces/quotes in the value. Fix: tokenize the TEMPLATE into argv FIRST, then `fill_template` EACH token, so a `{key}` slot resolves to a single element and the value never participates in tokenization (no whitespace-split, no quote/semicolon injection); preserve the missing-key / empty-command errors and `{{`/`}}` non-interpretation. perri's F-009 (v0.8.1 dogfood, argv-capture-confirmed): a multi-word `{psyche_prompt}` = \"PSYCHE REVIVAL time: epoch-ms:… incoming event: (none)\" arrived as argv[6..12] (7 stray tokens), the harness runner strict-parsed `--prompt` against the 2nd word, exited 2 within ~1s → phantom hosted perch. Applies to EVERY [session.<role>] template (psyche_init, extractor, notif, …); digest survives today only because its fills ({session_id}/{source}) are single-token.",
2026-06-17T06:47:31.8864957Z       "requiredStages": [
2026-06-17T06:47:31.8865212Z         "impl",
2026-06-17T06:47:31.8865475Z         "unit",
2026-06-17T06:47:31.8865728Z         "int"
2026-06-17T06:47:31.8865981Z       ],
2026-06-17T06:47:31.8866238Z       "stages": {
2026-06-17T06:47:31.8866486Z         "doc": {
2026-06-17T06:47:31.8866758Z           "complete": false,
2026-06-17T06:47:31.8867016Z           "evidence": []
2026-06-17T06:47:31.8867274Z         },
2026-06-17T06:47:31.8867534Z         "impl": {
2026-06-17T06:47:31.8867808Z           "complete": true,
2026-06-17T06:47:31.8868070Z           "evidence": [
2026-06-17T06:47:31.8868319Z             {
2026-06-17T06:47:31.8868700Z               "path": "crates/spt-daemon/src/harnesshost.rs",
2026-06-17T06:47:31.8869052Z               "line": 88
2026-06-17T06:47:31.8869301Z             },
2026-06-17T06:47:31.8869582Z             {
2026-06-17T06:47:31.8869948Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-17T06:47:31.8870207Z               "line": 132
2026-06-17T06:47:31.8870444Z             },
2026-06-17T06:47:31.8870698Z             {
2026-06-17T06:47:31.8871057Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-17T06:47:31.8871328Z               "line": 434
2026-06-17T06:47:31.8871691Z             },
2026-06-17T06:47:31.8871943Z             {
2026-06-17T06:47:31.8872296Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-17T06:47:31.8872559Z               "line": 139
2026-06-17T06:47:31.8872815Z             },
2026-06-17T06:47:31.8873049Z             {
2026-06-17T06:47:31.8873410Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-17T06:47:31.8873667Z               "line": 301
2026-06-17T06:47:31.8874015Z             },
2026-06-17T06:47:31.8874268Z             {
2026-06-17T06:47:31.8874617Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-17T06:47:31.8874878Z               "line": 513
2026-06-17T06:47:31.8875116Z             }
2026-06-17T06:47:31.8875358Z           ]
2026-06-17T06:47:31.8875603Z         },
2026-06-17T06:47:31.8875853Z         "int": {
2026-06-17T06:47:31.8876111Z           "complete": true,
2026-06-17T06:47:31.8876378Z           "evidence": [
2026-06-17T06:47:31.8876660Z             {
2026-06-17T06:47:31.8877103Z               "path": "crates/spt/tests/livehost_nonresident_e2e.rs",
2026-06-17T06:47:31.8877370Z               "line": 32
2026-06-17T06:47:31.8877623Z             }
2026-06-17T06:47:31.8877867Z           ]
2026-06-17T06:47:31.8878123Z         },
2026-06-17T06:47:31.8878373Z         "unit": {
2026-06-17T06:47:31.8878639Z           "complete": true,
2026-06-17T06:47:31.8878898Z           "evidence": [
2026-06-17T06:47:31.8879222Z             {
2026-06-17T06:47:31.8879598Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-17T06:47:31.8879861Z               "line": 583
2026-06-17T06:47:31.8880119Z             },
2026-06-17T06:47:31.8880372Z             {
2026-06-17T06:47:31.8880735Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-17T06:47:31.8881004Z               "line": 604
2026-06-17T06:47:31.8881245Z             },
2026-06-17T06:47:31.8881497Z             {
2026-06-17T06:47:31.8881850Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-17T06:47:31.8882109Z               "line": 620
2026-06-17T06:47:31.8882352Z             },
2026-06-17T06:47:31.8882600Z             {
2026-06-17T06:47:31.8882953Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-17T06:47:31.8883206Z               "line": 638
2026-06-17T06:47:31.8883457Z             },
2026-06-17T06:47:31.8883707Z             {
2026-06-17T06:47:31.8884069Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-17T06:47:31.8884323Z               "line": 662
2026-06-17T06:47:31.8884580Z             }
2026-06-17T06:47:31.8884823Z           ]
2026-06-17T06:47:31.8885070Z         }
2026-06-17T06:47:31.8885318Z       }
2026-06-17T06:47:31.8885562Z     },
2026-06-17T06:47:31.8885816Z     {
2026-06-17T06:47:31.8886111Z       "id": "REQ-HAZARD-UNC-PATH-STRIP",
2026-06-17T06:47:31.8886572Z       "title": "Strip Windows UNC prefix on serialized paths (5.4)",
2026-06-17T06:47:31.8886853Z       "requiredStages": [
2026-06-17T06:47:31.8887102Z         "impl",
2026-06-17T06:47:31.8887349Z         "unit"
2026-06-17T06:47:31.8887596Z       ],
2026-06-17T06:47:31.8887849Z       "stages": {
2026-06-17T06:47:31.8888088Z         "doc": {
2026-06-17T06:47:31.8888371Z           "complete": false,
2026-06-17T06:47:31.8888630Z           "evidence": []
2026-06-17T06:47:31.8888871Z         },
2026-06-17T06:47:31.8889205Z         "impl": {
2026-06-17T06:47:31.8889477Z           "complete": true,
2026-06-17T06:47:31.8889744Z           "evidence": [
2026-06-17T06:47:31.8889997Z             {
2026-06-17T06:47:31.8890336Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-17T06:47:31.8890594Z               "line": 35
2026-06-17T06:47:31.8890845Z             }
2026-06-17T06:47:31.8891122Z           ]
2026-06-17T06:47:31.8891374Z         },
2026-06-17T06:47:31.8891616Z         "int": {
2026-06-17T06:47:31.8891891Z           "complete": false,
2026-06-17T06:47:31.8892162Z           "evidence": []
2026-06-17T06:47:31.8892419Z         },
2026-06-17T06:47:31.8892673Z         "unit": {
2026-06-17T06:47:31.8893054Z           "complete": true,
2026-06-17T06:47:31.8893326Z           "evidence": [
2026-06-17T06:47:31.8893579Z             {
2026-06-17T06:47:31.8893917Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-17T06:47:31.8894183Z               "line": 220
2026-06-17T06:47:31.8894434Z             }
2026-06-17T06:47:31.8894672Z           ]
2026-06-17T06:47:31.8894934Z         }
2026-06-17T06:47:31.8895182Z       }
2026-06-17T06:47:31.8895431Z     },
2026-06-17T06:47:31.8895765Z     {
2026-06-17T06:47:31.8896080Z       "id": "REQ-HAZARD-UPDATE-ROLLBACK",
2026-06-17T06:47:31.8896850Z       "title": "Self-update rejects version rollback; metadata expiry + adapter content signing (codex #5)",
2026-06-17T06:47:31.8897132Z       "requiredStages": [
2026-06-17T06:47:31.8897399Z         "impl",
2026-06-17T06:47:31.8897638Z         "unit"
2026-06-17T06:47:31.8897894Z       ],
2026-06-17T06:47:31.8898147Z       "stages": {
2026-06-17T06:47:31.8898400Z         "doc": {
2026-06-17T06:47:31.8898672Z           "complete": false,
2026-06-17T06:47:31.8898936Z           "evidence": []
2026-06-17T06:47:31.8899267Z         },
2026-06-17T06:47:31.8899512Z         "impl": {
2026-06-17T06:47:31.8899788Z           "complete": true,
2026-06-17T06:47:31.8900056Z           "evidence": [
2026-06-17T06:47:31.8900333Z             {
2026-06-17T06:47:31.8900728Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-17T06:47:31.8900981Z               "line": 405
2026-06-17T06:47:31.8901239Z             },
2026-06-17T06:47:31.8901493Z             {
2026-06-17T06:47:31.8901840Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T06:47:31.8902110Z               "line": 409
2026-06-17T06:47:31.8902360Z             },
2026-06-17T06:47:31.8902618Z             {
2026-06-17T06:47:31.8902961Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-17T06:47:31.8903229Z               "line": 156
2026-06-17T06:47:31.8903481Z             }
2026-06-17T06:47:31.8903730Z           ]
2026-06-17T06:47:31.8903977Z         },
2026-06-17T06:47:31.8904235Z         "int": {
2026-06-17T06:47:31.8904501Z           "complete": false,
2026-06-17T06:47:31.8904757Z           "evidence": []
2026-06-17T06:47:31.8905008Z         },
2026-06-17T06:47:31.8905261Z         "unit": {
2026-06-17T06:47:31.8905542Z           "complete": true,
2026-06-17T06:47:31.8905805Z           "evidence": [
2026-06-17T06:47:31.8906057Z             {
2026-06-17T06:47:31.8906405Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T06:47:31.8906668Z               "line": 865
2026-06-17T06:47:31.8906916Z             },
2026-06-17T06:47:31.8907154Z             {
2026-06-17T06:47:31.8907510Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T06:47:31.8907763Z               "line": 879
2026-06-17T06:47:31.8908016Z             },
2026-06-17T06:47:31.8908264Z             {
2026-06-17T06:47:31.8908607Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T06:47:31.8908866Z               "line": 898
2026-06-17T06:47:31.8909190Z             },
2026-06-17T06:47:31.8909447Z             {
2026-06-17T06:47:31.8909798Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T06:47:31.8910067Z               "line": 915
2026-06-17T06:47:31.8910325Z             },
2026-06-17T06:47:31.8910583Z             {
2026-06-17T06:47:31.8910954Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-17T06:47:31.8911212Z               "line": 441
2026-06-17T06:47:31.8911470Z             }
2026-06-17T06:47:31.8911719Z           ]
2026-06-17T06:47:31.8911970Z         }
2026-06-17T06:47:31.8912208Z       }
2026-06-17T06:47:31.8912461Z     },
2026-06-17T06:47:31.8912708Z     {
2026-06-17T06:47:31.8913012Z       "id": "REQ-HAZARD-VIEWER-ISOLATION",
2026-06-17T06:47:31.8918920Z       "title": "A slow / dead / hostile VIEWER must NEVER stall the controller, the PTY child, or the session drain thread. The broker drain fans output to the controller on the authoritative blocking bounded path (advances delivered_through) but to each viewer via a bounded per-viewer channel with a dedicated writer thread; the drain `try_send`s under the log lock and a viewer whose bounded queue OVERFLOWS (can't keep up) is EVICTED (queue dropped, writer thread ends, removed from the viewers map) — the drain thread NEVER touches a viewer socket, so no viewer write can backpressure or block it. A soft viewer cap bounds the thread count. Viewer eviction never perturbs the controller stream, the delivered_through cursor, or the child.",
2026-06-17T06:47:31.8919529Z       "requiredStages": [
2026-06-17T06:47:31.8919783Z         "unit",
2026-06-17T06:47:31.8920036Z         "int"
2026-06-17T06:47:31.8920286Z       ],
2026-06-17T06:47:31.8920542Z       "stages": {
2026-06-17T06:47:31.8920791Z         "doc": {
2026-06-17T06:47:31.8921053Z           "complete": true,
2026-06-17T06:47:31.8921320Z           "evidence": [
2026-06-17T06:47:31.8921571Z             {
2026-06-17T06:47:31.8921886Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-17T06:47:31.8922163Z               "line": 381
2026-06-17T06:47:31.8922411Z             }
2026-06-17T06:47:31.8922660Z           ]
2026-06-17T06:47:31.8922908Z         },
2026-06-17T06:47:31.8923158Z         "impl": {
2026-06-17T06:47:31.8923428Z           "complete": true,
2026-06-17T06:47:31.8923700Z           "evidence": [
2026-06-17T06:47:31.8923953Z             {
2026-06-17T06:47:31.8924296Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-17T06:47:31.8924554Z               "line": 97
2026-06-17T06:47:31.8924802Z             }
2026-06-17T06:47:31.8925054Z           ]
2026-06-17T06:47:31.8925302Z         },
2026-06-17T06:47:31.8925560Z         "int": {
2026-06-17T06:47:31.8925835Z           "complete": true,
2026-06-17T06:47:31.8926100Z           "evidence": [
2026-06-17T06:47:31.8926366Z             {
2026-06-17T06:47:31.8926710Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-17T06:47:31.8926981Z               "line": 918
2026-06-17T06:47:31.8927235Z             }
2026-06-17T06:47:31.8927483Z           ]
2026-06-17T06:47:31.8927736Z         },
2026-06-17T06:47:31.8927989Z         "unit": {
2026-06-17T06:47:31.8928274Z           "complete": true,
2026-06-17T06:47:31.8928526Z           "evidence": [
2026-06-17T06:47:31.8928775Z             {
2026-06-17T06:47:31.8929207Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-17T06:47:31.8929480Z               "line": 1459
2026-06-17T06:47:31.8929728Z             }
2026-06-17T06:47:31.8929981Z           ]
2026-06-17T06:47:31.8930238Z         }
2026-06-17T06:47:31.8930485Z       }
2026-06-17T06:47:31.8930738Z     },
2026-06-17T06:47:31.8930981Z     {
2026-06-17T06:47:31.8931298Z       "id": "REQ-HAZARD-WAN-ORIGIN-AUTH",
2026-06-17T06:47:31.8933473Z       "title": "WAN-inbound origin is transport truth, never payload: the access gate's subject (ADR-0009 origin-node whitelist) is the QUIC handshake-proven remote node id from the broker's conn/stream table — a forged origin/node field inside record bytes is inert (7.5)",
2026-06-17T06:47:31.8933762Z       "requiredStages": [
2026-06-17T06:47:31.8934012Z         "doc",
2026-06-17T06:47:31.8934265Z         "impl",
2026-06-17T06:47:31.8934523Z         "unit"
2026-06-17T06:47:31.8934771Z       ],
2026-06-17T06:47:31.8935023Z       "stages": {
2026-06-17T06:47:31.8935266Z         "doc": {
2026-06-17T06:47:31.8935528Z           "complete": true,
2026-06-17T06:47:31.8935791Z           "evidence": [
2026-06-17T06:47:31.8936040Z             {
2026-06-17T06:47:31.8936352Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-17T06:47:31.8936612Z               "line": 366
2026-06-17T06:47:31.8936856Z             }
2026-06-17T06:47:31.8937109Z           ]
2026-06-17T06:47:31.8937361Z         },
2026-06-17T06:47:31.8937629Z         "impl": {
2026-06-17T06:47:31.8937900Z           "complete": true,
2026-06-17T06:47:31.8938167Z           "evidence": [
2026-06-17T06:47:31.8938410Z             {
2026-06-17T06:47:31.8938758Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-17T06:47:31.8939214Z               "line": 87
2026-06-17T06:47:31.8939467Z             },
2026-06-17T06:47:31.8939720Z             {
2026-06-17T06:47:31.8940068Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-17T06:47:31.8940335Z               "line": 105
2026-06-17T06:47:31.8940589Z             },
2026-06-17T06:47:31.8940842Z             {
2026-06-17T06:47:31.8941195Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-17T06:47:31.8941445Z               "line": 55
2026-06-17T06:47:31.8941805Z             },
2026-06-17T06:47:31.8942053Z             {
2026-06-17T06:47:31.8942411Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-17T06:47:31.8942677Z               "line": 31
2026-06-17T06:47:31.8942926Z             },
2026-06-17T06:47:31.8943179Z             {
2026-06-17T06:47:31.8943517Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-17T06:47:31.8943781Z               "line": 446
2026-06-17T06:47:31.8944029Z             },
2026-06-17T06:47:31.8944288Z             {
2026-06-17T06:47:31.8944663Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-17T06:47:31.8944906Z               "line": 95
2026-06-17T06:47:31.8945168Z             },
2026-06-17T06:47:31.8945416Z             {
2026-06-17T06:47:31.8945779Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-17T06:47:31.8946036Z               "line": 29
2026-06-17T06:47:31.8946295Z             },
2026-06-17T06:47:31.8946547Z             {
2026-06-17T06:47:31.8946917Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-17T06:47:31.8947176Z               "line": 104
2026-06-17T06:47:31.8947430Z             },
2026-06-17T06:47:31.8947683Z             {
2026-06-17T06:47:31.8948064Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T06:47:31.8948331Z               "line": 208
2026-06-17T06:47:31.8948579Z             },
2026-06-17T06:47:31.8948833Z             {
2026-06-17T06:47:31.8949247Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-17T06:47:31.8949520Z               "line": 28
2026-06-17T06:47:31.8949779Z             },
2026-06-17T06:47:31.8950027Z             {
2026-06-17T06:47:31.8950375Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-17T06:47:31.8950628Z               "line": 74
2026-06-17T06:47:31.8950867Z             },
2026-06-17T06:47:31.8951120Z             {
2026-06-17T06:47:31.8951492Z               "path": "crates/spt-daemon/src/serveprobe.rs",
2026-06-17T06:47:31.8961328Z               "line": 32
2026-06-17T06:47:31.8961647Z             },
2026-06-17T06:47:31.8961904Z             {
2026-06-17T06:47:31.8962252Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-17T06:47:31.8962503Z               "line": 40
2026-06-17T06:47:31.8962759Z             },
2026-06-17T06:47:31.8963007Z             {
2026-06-17T06:47:31.8963345Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-17T06:47:31.8963613Z               "line": 184
2026-06-17T06:47:31.8963890Z             },
2026-06-17T06:47:31.8964132Z             {
2026-06-17T06:47:31.8964461Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-17T06:47:31.8964728Z               "line": 61
2026-06-17T06:47:31.8964971Z             },
2026-06-17T06:47:31.8965220Z             {
2026-06-17T06:47:31.8965542Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-17T06:47:31.8965798Z               "line": 131
2026-06-17T06:47:31.8966050Z             },
2026-06-17T06:47:31.8966293Z             {
2026-06-17T06:47:31.8966627Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-17T06:47:31.8966875Z               "line": 223
2026-06-17T06:47:31.8967119Z             },
2026-06-17T06:47:31.8967352Z             {
2026-06-17T06:47:31.8967692Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-17T06:47:31.8967952Z               "line": 37
2026-06-17T06:47:31.8968197Z             },
2026-06-17T06:47:31.8968446Z             {
2026-06-17T06:47:31.8968789Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-17T06:47:31.8969285Z               "line": 38
2026-06-17T06:47:31.8969532Z             },
2026-06-17T06:47:31.8969771Z             {
2026-06-17T06:47:31.8970129Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-17T06:47:31.8970386Z               "line": 36
2026-06-17T06:47:31.8970640Z             },
2026-06-17T06:47:31.8970886Z             {
2026-06-17T06:47:31.8971224Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-17T06:47:31.8971592Z               "line": 40
2026-06-17T06:47:31.8971849Z             }
2026-06-17T06:47:31.8972096Z           ]
2026-06-17T06:47:31.8972340Z         },
2026-06-17T06:47:31.8972588Z         "int": {
2026-06-17T06:47:31.8972852Z           "complete": false,
2026-06-17T06:47:31.8973121Z           "evidence": []
2026-06-17T06:47:31.8973371Z         },
2026-06-17T06:47:31.8973614Z         "unit": {
2026-06-17T06:47:31.8973887Z           "complete": true,
2026-06-17T06:47:31.8974144Z           "evidence": [
2026-06-17T06:47:31.8974397Z             {
2026-06-17T06:47:31.8974755Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-17T06:47:31.8975021Z               "line": 212
2026-06-17T06:47:31.8975265Z             },
2026-06-17T06:47:31.8975512Z             {
2026-06-17T06:47:31.8975884Z               "path": "crates/spt-daemon/tests/notifsync.rs",
2026-06-17T06:47:31.8976144Z               "line": 136
2026-06-17T06:47:31.8976396Z             },
2026-06-17T06:47:31.8976634Z             {
2026-06-17T06:47:31.8977016Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-17T06:47:31.8977273Z               "line": 685
2026-06-17T06:47:31.8977521Z             },
2026-06-17T06:47:31.8977773Z             {
2026-06-17T06:47:31.8978121Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-17T06:47:31.8978375Z               "line": 224
2026-06-17T06:47:31.8978626Z             },
2026-06-17T06:47:31.8978876Z             {
2026-06-17T06:47:31.8979325Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-17T06:47:31.8979612Z               "line": 206
2026-06-17T06:47:31.8979865Z             },
2026-06-17T06:47:31.8980107Z             {
2026-06-17T06:47:31.8980455Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-17T06:47:31.8980708Z               "line": 112
2026-06-17T06:47:31.8980960Z             },
2026-06-17T06:47:31.8981219Z             {
2026-06-17T06:47:31.8981561Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-17T06:47:31.8981838Z               "line": 157
2026-06-17T06:47:31.8982090Z             },
2026-06-17T06:47:31.8982337Z             {
2026-06-17T06:47:31.8982681Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-17T06:47:31.8982947Z               "line": 215
2026-06-17T06:47:31.8983200Z             },
2026-06-17T06:47:31.8983445Z             {
2026-06-17T06:47:31.8983795Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-17T06:47:31.8984056Z               "line": 141
2026-06-17T06:47:31.8984308Z             },
2026-06-17T06:47:31.8984565Z             {
2026-06-17T06:47:31.8984904Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-17T06:47:31.8985161Z               "line": 162
2026-06-17T06:47:31.8985409Z             }
2026-06-17T06:47:31.8985673Z           ]
2026-06-17T06:47:31.8985921Z         }
2026-06-17T06:47:31.8986182Z       }
2026-06-17T06:47:31.8986889Z     },
2026-06-17T06:47:31.8987442Z     {
2026-06-17T06:47:31.8988062Z       "id": "REQ-HAZARD-WIN-PTY-PROGRAM-RESOLVE",
2026-06-17T06:47:31.8993856Z       "title": "Native-PTY spawn must resolve a bare program name with PATHEXT precedence and run a non-PE target through its interpreter: portable-pty's own `which` takes the FIRST PATH match — an extensionless shebang shim (e.g. a node CLI `ccs` shipped beside `ccs.cmd`) — and CreateProcessW then rejects the non-PE file with os error 193 ('not a valid Win32 application'); spt-term resolves the program itself (PATHEXT order prefers .EXE over .CMD; .cmd/.bat → cmd.exe /d /c, .ps1 → powershell -NoProfile -File) so a bare harness/shell [session.self] command actually launches on Windows. Unix is a passthrough (execve honours the shebang).",
2026-06-17T06:47:31.8999537Z       "requiredStages": [
2026-06-17T06:47:31.9000174Z         "doc",
2026-06-17T06:47:31.9000722Z         "impl",
2026-06-17T06:47:31.9001328Z         "unit",
2026-06-17T06:47:31.9001972Z         "int"
2026-06-17T06:47:31.9002528Z       ],
2026-06-17T06:47:31.9003091Z       "stages": {
2026-06-17T06:47:31.9003653Z         "doc": {
2026-06-17T06:47:31.9004363Z           "complete": true,
2026-06-17T06:47:31.9005023Z           "evidence": [
2026-06-17T06:47:31.9005624Z             {
2026-06-17T06:47:31.9006230Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-17T06:47:31.9007002Z               "line": 250
2026-06-17T06:47:31.9007607Z             }
2026-06-17T06:47:31.9008134Z           ]
2026-06-17T06:47:31.9008663Z         },
2026-06-17T06:47:31.9009263Z         "impl": {
2026-06-17T06:47:31.9009869Z           "complete": true,
2026-06-17T06:47:31.9010513Z           "evidence": [
2026-06-17T06:47:31.9011115Z             {
2026-06-17T06:47:31.9011735Z               "path": "crates/spt-term/src/pty.rs",
2026-06-17T06:47:31.9012518Z               "line": 131
2026-06-17T06:47:31.9013131Z             }
2026-06-17T06:47:31.9013674Z           ]
2026-06-17T06:47:31.9014204Z         },
2026-06-17T06:47:31.9014734Z         "int": {
2026-06-17T06:47:31.9015314Z           "complete": true,
2026-06-17T06:47:31.9015955Z           "evidence": [
2026-06-17T06:47:31.9016560Z             {
2026-06-17T06:47:31.9017204Z               "path": "crates/spt-term/tests/winspawn.rs",
2026-06-17T06:47:31.9018012Z               "line": 15
2026-06-17T06:47:31.9018622Z             }
2026-06-17T06:47:31.9019262Z           ]
2026-06-17T06:47:31.9019785Z         },
2026-06-17T06:47:31.9020319Z         "unit": {
2026-06-17T06:47:31.9020909Z           "complete": true,
2026-06-17T06:47:31.9021561Z           "evidence": [
2026-06-17T06:47:31.9022167Z             {
2026-06-17T06:47:31.9022820Z               "path": "crates/spt-term/src/winprog.rs",
2026-06-17T06:47:31.9023633Z               "line": 222
2026-06-17T06:47:31.9024249Z             }
2026-06-17T06:47:31.9024797Z           ]
2026-06-17T06:47:31.9025323Z         }
2026-06-17T06:47:31.9025855Z       }
2026-06-17T06:47:31.9026383Z     },
2026-06-17T06:47:31.9026902Z     {
2026-06-17T06:47:31.9027502Z       "id": "REQ-HAZARD-WINDOWS-PID-RECYCLE",
2026-06-17T06:47:31.9028481Z       "title": "Windows PID-recycling false positives guarded (5.1)",
2026-06-17T06:47:31.9029540Z       "requiredStages": [
2026-06-17T06:47:31.9030184Z         "impl",
2026-06-17T06:47:31.9030733Z         "unit"
2026-06-17T06:47:31.9031284Z       ],
2026-06-17T06:47:31.9031817Z       "stages": {
2026-06-17T06:47:31.9032389Z         "doc": {
2026-06-17T06:47:31.9032965Z           "complete": false,
2026-06-17T06:47:31.9033619Z           "evidence": []
2026-06-17T06:47:31.9034227Z         },
2026-06-17T06:47:31.9034766Z         "impl": {
2026-06-17T06:47:31.9035353Z           "complete": true,
2026-06-17T06:47:31.9036001Z           "evidence": [
2026-06-17T06:47:31.9036596Z             {
2026-06-17T06:47:31.9037238Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-17T06:47:31.9038023Z               "line": 95
2026-06-17T06:47:31.9038635Z             },
2026-06-17T06:47:31.9039253Z             {
2026-06-17T06:47:31.9039913Z               "path": "crates/spt/src/api/startup.rs",
2026-06-17T06:47:31.9040716Z               "line": 94
2026-06-17T06:47:31.9041326Z             }
2026-06-17T06:47:31.9041868Z           ]
2026-06-17T06:47:31.9042396Z         },
2026-06-17T06:47:31.9042925Z         "int": {
2026-06-17T06:47:31.9043496Z           "complete": false,
2026-06-17T06:47:31.9044150Z           "evidence": []
2026-06-17T06:47:31.9044758Z         },
2026-06-17T06:47:31.9045284Z         "unit": {
2026-06-17T06:47:31.9045865Z           "complete": true,
2026-06-17T06:47:31.9046504Z           "evidence": [
2026-06-17T06:47:31.9047245Z             {
2026-06-17T06:47:31.9047869Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-17T06:47:31.9048661Z               "line": 250
2026-06-17T06:47:31.9049358Z             },
2026-06-17T06:47:31.9049904Z             {
2026-06-17T06:47:31.9050526Z               "path": "crates/spt-store/src/proc.rs",
2026-06-17T06:47:31.9051314Z               "line": 198
2026-06-17T06:47:31.9051929Z             },
2026-06-17T06:47:31.9052470Z             {
2026-06-17T06:47:31.9053112Z               "path": "crates/spt/src/api/startup.rs",
2026-06-17T06:47:31.9054042Z               "line": 487
2026-06-17T06:47:31.9054681Z             },
2026-06-17T06:47:31.9055219Z             {
2026-06-17T06:47:31.9055849Z               "path": "crates/spt/src/api/startup.rs",
2026-06-17T06:47:31.9056635Z               "line": 520
2026-06-17T06:47:31.9057241Z             }
2026-06-17T06:47:31.9057786Z           ]
2026-06-17T06:47:31.9058306Z         }
2026-06-17T06:47:31.9058820Z       }
2026-06-17T06:47:31.9059411Z     },
2026-06-17T06:47:31.9059927Z     {
2026-06-17T06:47:31.9060488Z       "id": "REQ-HAZARD-WORKER-PATH",
2026-06-17T06:47:31.9061474Z       "title": "Single source of truth for Worker/Psyche perch location (1.5)",
2026-06-17T06:47:31.9062489Z       "requiredStages": [
2026-06-17T06:47:31.9063107Z         "impl",
2026-06-17T06:47:31.9063706Z         "unit"
2026-06-17T06:47:31.9064258Z       ],
2026-06-17T06:47:31.9064802Z       "stages": {
2026-06-17T06:47:31.9065371Z         "doc": {
2026-06-17T06:47:31.9066004Z           "complete": false,
2026-06-17T06:47:31.9066657Z           "evidence": []
2026-06-17T06:47:31.9067258Z         },
2026-06-17T06:47:31.9067791Z         "impl": {
2026-06-17T06:47:31.9068374Z           "complete": true,
2026-06-17T06:47:31.9069089Z           "evidence": [
2026-06-17T06:47:31.9069723Z             {
2026-06-17T06:47:31.9070358Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T06:47:31.9071157Z               "line": 262
2026-06-17T06:47:31.9071757Z             },
2026-06-17T06:47:31.9072315Z             {
2026-06-17T06:47:31.9072939Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T06:47:31.9073738Z               "line": 307
2026-06-17T06:47:31.9074334Z             },
2026-06-17T06:47:31.9074891Z             {
2026-06-17T06:47:31.9075501Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T06:47:31.9076288Z               "line": 319
2026-06-17T06:47:31.9076898Z             }
2026-06-17T06:47:31.9077436Z           ]
2026-06-17T06:47:31.9077970Z         },
2026-06-17T06:47:31.9078500Z         "int": {
2026-06-17T06:47:31.9079145Z           "complete": false,
2026-06-17T06:47:31.9079807Z           "evidence": []
2026-06-17T06:47:31.9080423Z         },
2026-06-17T06:47:31.9080957Z         "unit": {
2026-06-17T06:47:31.9081537Z           "complete": true,
2026-06-17T06:47:31.9082173Z           "evidence": [
2026-06-17T06:47:31.9082751Z             {
2026-06-17T06:47:31.9083389Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T06:47:31.9084184Z               "line": 455
2026-06-17T06:47:31.9084793Z             },
2026-06-17T06:47:31.9085350Z             {
2026-06-17T06:47:31.9085994Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T06:47:31.9086806Z               "line": 499
2026-06-17T06:47:31.9087424Z             }
2026-06-17T06:47:31.9088001Z           ]
2026-06-17T06:47:31.9088521Z         }
2026-06-17T06:47:31.9089144Z       }
2026-06-17T06:47:31.9089676Z     },
2026-06-17T06:47:31.9090190Z     {
2026-06-17T06:47:31.9090740Z       "id": "REQ-HOST-RUN-1",
2026-06-17T06:47:31.9097502Z       "title": "spt-hosted harness bringup: `spt endpoint run` spawns an adapter's `[session.self]` command template into a broker-held PTY (the spawn-session seam, brain.rs spawn_session_pid — same broker path shellhost.rs launch_shell_brokered_in uses for shells, now for kind=\"harness\" self-role), registers the perch under the given endpoint id, returns the id. Reverses today's harness-hosted-only launch (external launcher → `api bind`). Non-interactive flag set (--adapter <a[:profile]> --id <id> --create --resume <session> --attach|--start|--view) covers every terminal action of the W2 interactive picker so shortcuts (cc-<id>) bake fully non-interactive launches; composite adapter:profile resolves via registry::resolve_option leaf-replace overlay.",
2026-06-17T06:47:31.9103985Z       "requiredStages": [
2026-06-17T06:47:31.9104629Z         "impl",
2026-06-17T06:47:31.9105172Z         "unit",
2026-06-17T06:47:31.9105856Z         "int"
2026-06-17T06:47:31.9106405Z       ],
2026-06-17T06:47:31.9106930Z       "stages": {
2026-06-17T06:47:31.9107501Z         "doc": {
2026-06-17T06:47:31.9108086Z           "complete": false,
2026-06-17T06:47:31.9108739Z           "evidence": []
2026-06-17T06:47:31.9109445Z         },
2026-06-17T06:47:31.9109974Z         "impl": {
2026-06-17T06:47:31.9110559Z           "complete": true,
2026-06-17T06:47:31.9111197Z           "evidence": [
2026-06-17T06:47:31.9111793Z             {
2026-06-17T06:47:31.9112460Z               "path": "crates/spt-daemon/src/harnesshost.rs",
2026-06-17T06:47:31.9113289Z               "line": 24
2026-06-17T06:47:31.9113892Z             },
2026-06-17T06:47:31.9114441Z             {
2026-06-17T06:47:31.9115103Z               "path": "crates/spt-daemon/src/harnesshost.rs",
2026-06-17T06:47:31.9115932Z               "line": 63
2026-06-17T06:47:31.9116536Z             },
2026-06-17T06:47:31.9117069Z             {
2026-06-17T06:47:31.9117736Z               "path": "crates/spt-daemon/src/harnesshost.rs",
2026-06-17T06:47:31.9118575Z               "line": 110
2026-06-17T06:47:31.9119261Z             },
2026-06-17T06:47:31.9119848Z             {
2026-06-17T06:47:31.9120445Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.9121203Z               "line": 1220
2026-06-17T06:47:31.9121814Z             }
2026-06-17T06:47:31.9122348Z           ]
2026-06-17T06:47:31.9122873Z         },
2026-06-17T06:47:31.9123401Z         "int": {
2026-06-17T06:47:31.9123972Z           "complete": true,
2026-06-17T06:47:31.9124619Z           "evidence": [
2026-06-17T06:47:31.9125221Z             {
2026-06-17T06:47:31.9125865Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-17T06:47:31.9126685Z               "line": 279
2026-06-17T06:47:31.9127281Z             }
2026-06-17T06:47:31.9127824Z           ]
2026-06-17T06:47:31.9128355Z         },
2026-06-17T06:47:31.9128888Z         "unit": {
2026-06-17T06:47:31.9129554Z           "complete": true,
2026-06-17T06:47:31.9130203Z           "evidence": [
2026-06-17T06:47:31.9130799Z             {
2026-06-17T06:47:31.9131470Z               "path": "crates/spt-daemon/src/harnesshost.rs",
2026-06-17T06:47:31.9132322Z               "line": 150
2026-06-17T06:47:31.9132932Z             },
2026-06-17T06:47:31.9133472Z             {
2026-06-17T06:47:31.9134135Z               "path": "crates/spt-daemon/src/harnesshost.rs",
2026-06-17T06:47:31.9134960Z               "line": 170
2026-06-17T06:47:31.9135566Z             },
2026-06-17T06:47:31.9136115Z             {
2026-06-17T06:47:31.9136782Z               "path": "crates/spt-daemon/src/harnesshost.rs",
2026-06-17T06:47:31.9137603Z               "line": 203
2026-06-17T06:47:31.9138218Z             }
2026-06-17T06:47:31.9138762Z           ]
2026-06-17T06:47:31.9139371Z         }
2026-06-17T06:47:31.9139881Z       }
2026-06-17T06:47:31.9140391Z     },
2026-06-17T06:47:31.9140898Z     {
2026-06-17T06:47:31.9141456Z       "id": "REQ-HOST-RUN-2",
2026-06-17T06:47:31.9146975Z       "title": "Project-scoped working directory for spt-hosted bringup: `spt endpoint run` lands the broker-spawned harness PTY in the user's PROJECT cwd, not the daemon's, via an additive `SpawnReq.cwd` field carried through the broker PTY spawn (portable-pty CommandBuilder cwd). N-1-safe wire change (additive, defaulted). Required because the consumer (Claude Code) is project-scoped: broker-inherited cwd = the daemon's cwd = the wrong `.claude`, wrong session history, wrong digest source; `cc <id>` at a project root MUST land the harness in that project. W1 ships broker-inherited cwd as a bringup-proof shortcut only; this REQ must land before the M12 gate (doyle, 2026-06-14).",
2026-06-17T06:47:31.9152813Z       "requiredStages": [
2026-06-17T06:47:31.9153447Z         "impl",
2026-06-17T06:47:31.9153991Z         "unit",
2026-06-17T06:47:31.9154538Z         "int"
2026-06-17T06:47:31.9155067Z       ],
2026-06-17T06:47:31.9155596Z       "stages": {
2026-06-17T06:47:31.9156156Z         "doc": {
2026-06-17T06:47:31.9156733Z           "complete": false,
2026-06-17T06:47:31.9157498Z           "evidence": []
2026-06-17T06:47:31.9158091Z         },
2026-06-17T06:47:31.9158623Z         "impl": {
2026-06-17T06:47:31.9159281Z           "complete": true,
2026-06-17T06:47:31.9159939Z           "evidence": [
2026-06-17T06:47:31.9160530Z             {
2026-06-17T06:47:31.9161187Z               "path": "crates/spt-daemon/src/harnesshost.rs",
2026-06-17T06:47:31.9162018Z               "line": 111
2026-06-17T06:47:31.9162628Z             },
2026-06-17T06:47:31.9163179Z             {
2026-06-17T06:47:31.9163787Z               "path": "crates/spt-term/src/pty.rs",
2026-06-17T06:47:31.9164571Z               "line": 113
2026-06-17T06:47:31.9165181Z             }
2026-06-17T06:47:31.9165719Z           ]
2026-06-17T06:47:31.9166254Z         },
2026-06-17T06:47:31.9166770Z         "int": {
2026-06-17T06:47:31.9167341Z           "complete": true,
2026-06-17T06:47:31.9167980Z           "evidence": [
2026-06-17T06:47:31.9168561Z             {
2026-06-17T06:47:31.9169259Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-17T06:47:31.9170080Z               "line": 454
2026-06-17T06:47:31.9170709Z             }
2026-06-17T06:47:31.9171250Z           ]
2026-06-17T06:47:31.9171766Z         },
2026-06-17T06:47:31.9172282Z         "unit": {
2026-06-17T06:47:31.9172864Z           "complete": true,
2026-06-17T06:47:31.9173513Z           "evidence": [
2026-06-17T06:47:31.9174286Z             {
2026-06-17T06:47:31.9174925Z               "path": "crates/spt-term/tests/surface.rs",
2026-06-17T06:47:31.9175736Z               "line": 86
2026-06-17T06:47:31.9176342Z             }
2026-06-17T06:47:31.9176871Z           ]
2026-06-17T06:47:31.9177387Z         }
2026-06-17T06:47:31.9177906Z       }
2026-06-17T06:47:31.9178411Z     },
2026-06-17T06:47:31.9178923Z     {
2026-06-17T06:47:31.9179552Z       "id": "REQ-INFRA-1",
2026-06-17T06:47:31.9180448Z       "title": "GitHub issue tracking for v1; tangled.org as migration target",
2026-06-17T06:47:31.9181471Z       "requiredStages": [],
2026-06-17T06:47:31.9182107Z       "stages": {
2026-06-17T06:47:31.9182674Z         "doc": {
2026-06-17T06:47:31.9183261Z           "complete": false,
2026-06-17T06:47:31.9183915Z           "evidence": []
2026-06-17T06:47:31.9184512Z         },
2026-06-17T06:47:31.9185032Z         "impl": {
2026-06-17T06:47:31.9185599Z           "complete": false,
2026-06-17T06:47:31.9186253Z           "evidence": []
2026-06-17T06:47:31.9186849Z         },
2026-06-17T06:47:31.9187370Z         "int": {
2026-06-17T06:47:31.9187947Z           "complete": false,
2026-06-17T06:47:31.9188591Z           "evidence": []
2026-06-17T06:47:31.9194993Z         },
2026-06-17T06:47:31.9195564Z         "unit": {
2026-06-17T06:47:31.9196155Z           "complete": false,
2026-06-17T06:47:31.9196818Z           "evidence": []
2026-06-17T06:47:31.9197433Z         }
2026-06-17T06:47:31.9197959Z       }
2026-06-17T06:47:31.9198469Z     },
2026-06-17T06:47:31.9199065Z     {
2026-06-17T06:47:31.9199603Z       "id": "REQ-INST-1",
2026-06-17T06:47:31.9200437Z       "title": "endpoint ID vs instance split (adapter-agnostic ID)",
2026-06-17T06:47:31.9201375Z       "requiredStages": [],
2026-06-17T06:47:31.9202009Z       "stages": {
2026-06-17T06:47:31.9202577Z         "doc": {
2026-06-17T06:47:31.9203146Z           "complete": false,
2026-06-17T06:47:31.9203795Z           "evidence": []
2026-06-17T06:47:31.9204405Z         },
2026-06-17T06:47:31.9204926Z         "impl": {
2026-06-17T06:47:31.9205487Z           "complete": false,
2026-06-17T06:47:31.9206309Z           "evidence": []
2026-06-17T06:47:31.9206896Z         },
2026-06-17T06:47:31.9207417Z         "int": {
2026-06-17T06:47:31.9207984Z           "complete": false,
2026-06-17T06:47:31.9208633Z           "evidence": []
2026-06-17T06:47:31.9209320Z         },
2026-06-17T06:47:31.9209858Z         "unit": {
2026-06-17T06:47:31.9210434Z           "complete": false,
2026-06-17T06:47:31.9211085Z           "evidence": []
2026-06-17T06:47:31.9211682Z         }
2026-06-17T06:47:31.9212197Z       }
2026-06-17T06:47:31.9212827Z     },
2026-06-17T06:47:31.9213345Z     {
2026-06-17T06:47:31.9213865Z       "id": "REQ-INST-10",
2026-06-17T06:47:31.9214851Z       "title": "Qualified addressing [subnet:]id[@node] + ambiguity forces qualification",
2026-06-17T06:47:31.9215966Z       "requiredStages": [
2026-06-17T06:47:31.9216592Z         "impl",
2026-06-17T06:47:31.9217132Z         "unit"
2026-06-17T06:47:31.9217676Z       ],
2026-06-17T06:47:31.9218214Z       "stages": {
2026-06-17T06:47:31.9218781Z         "doc": {
2026-06-17T06:47:31.9219436Z           "complete": false,
2026-06-17T06:47:31.9220085Z           "evidence": []
2026-06-17T06:47:31.9220690Z         },
2026-06-17T06:47:31.9221220Z         "impl": {
2026-06-17T06:47:31.9221789Z           "complete": true,
2026-06-17T06:47:31.9222418Z           "evidence": [
2026-06-17T06:47:31.9223024Z             {
2026-06-17T06:47:31.9223721Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T06:47:31.9224581Z               "line": 616
2026-06-17T06:47:31.9225191Z             },
2026-06-17T06:47:31.9225735Z             {
2026-06-17T06:47:31.9226370Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T06:47:31.9227196Z               "line": 693
2026-06-17T06:47:31.9227797Z             },
2026-06-17T06:47:31.9228341Z             {
2026-06-17T06:47:31.9229032Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-17T06:47:31.9229816Z               "line": 13
2026-06-17T06:47:31.9230426Z             },
2026-06-17T06:47:31.9230974Z             {
2026-06-17T06:47:31.9231604Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-17T06:47:31.9232387Z               "line": 67
2026-06-17T06:47:31.9232983Z             },
2026-06-17T06:47:31.9233517Z             {
2026-06-17T06:47:31.9234132Z               "path": "crates/spt/src/wansend.rs",
2026-06-17T06:47:31.9234908Z               "line": 18
2026-06-17T06:47:31.9235518Z             },
2026-06-17T06:47:31.9236057Z             {
2026-06-17T06:47:31.9236653Z               "path": "crates/spt/src/wansend.rs",
2026-06-17T06:47:31.9237431Z               "line": 444
2026-06-17T06:47:31.9238047Z             }
2026-06-17T06:47:31.9238577Z           ]
2026-06-17T06:47:31.9239172Z         },
2026-06-17T06:47:31.9239693Z         "int": {
2026-06-17T06:47:31.9240318Z           "complete": false,
2026-06-17T06:47:31.9240962Z           "evidence": []
2026-06-17T06:47:31.9241572Z         },
2026-06-17T06:47:31.9242120Z         "unit": {
2026-06-17T06:47:31.9242691Z           "complete": true,
2026-06-17T06:47:31.9243334Z           "evidence": [
2026-06-17T06:47:31.9243915Z             {
2026-06-17T06:47:31.9244569Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T06:47:31.9245415Z               "line": 900
2026-06-17T06:47:31.9246035Z             },
2026-06-17T06:47:31.9246579Z             {
2026-06-17T06:47:31.9247236Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T06:47:31.9248049Z               "line": 1233
2026-06-17T06:47:31.9248674Z             },
2026-06-17T06:47:31.9249284Z             {
2026-06-17T06:47:31.9249939Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T06:47:31.9250745Z               "line": 1244
2026-06-17T06:47:31.9251356Z             },
2026-06-17T06:47:31.9251900Z             {
2026-06-17T06:47:31.9252548Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T06:47:31.9253355Z               "line": 1260
2026-06-17T06:47:31.9253965Z             },
2026-06-17T06:47:31.9254499Z             {
2026-06-17T06:47:31.9255300Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T06:47:31.9256110Z               "line": 1276
2026-06-17T06:47:31.9256730Z             },
2026-06-17T06:47:31.9257268Z             {
2026-06-17T06:47:31.9257912Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T06:47:31.9258734Z               "line": 1298
2026-06-17T06:47:31.9259462Z             },
2026-06-17T06:47:31.9260001Z             {
2026-06-17T06:47:31.9260654Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T06:47:31.9261582Z               "line": 1603
2026-06-17T06:47:31.9262192Z             },
2026-06-17T06:47:31.9262736Z             {
2026-06-17T06:47:31.9263346Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-17T06:47:31.9264130Z               "line": 130
2026-06-17T06:47:31.9264735Z             },
2026-06-17T06:47:31.9265268Z             {
2026-06-17T06:47:31.9265893Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-17T06:47:31.9266675Z               "line": 167
2026-06-17T06:47:31.9267290Z             },
2026-06-17T06:47:31.9267838Z             {
2026-06-17T06:47:31.9268463Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-17T06:47:31.9269351Z               "line": 175
2026-06-17T06:47:31.9269966Z             },
2026-06-17T06:47:31.9270515Z             {
2026-06-17T06:47:31.9271130Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-17T06:47:31.9271926Z               "line": 183
2026-06-17T06:47:31.9272542Z             },
2026-06-17T06:47:31.9273091Z             {
2026-06-17T06:47:31.9273707Z               "path": "crates/spt/src/wansend.rs",
2026-06-17T06:47:31.9274479Z               "line": 896
2026-06-17T06:47:31.9275094Z             }
2026-06-17T06:47:31.9275643Z           ]
2026-06-17T06:47:31.9276163Z         }
2026-06-17T06:47:31.9276687Z       }
2026-06-17T06:47:31.9277197Z     },
2026-06-17T06:47:31.9277711Z     {
2026-06-17T06:47:31.9278245Z       "id": "REQ-INST-11",
2026-06-17T06:47:31.9279307Z       "title": "spt rename <id> rippled to all instances (collision-checked, 6.5-reconciled)",
2026-06-17T06:47:31.9280412Z       "requiredStages": [
2026-06-17T06:47:31.9281023Z         "impl",
2026-06-17T06:47:31.9281570Z         "unit"
2026-06-17T06:47:31.9282113Z       ],
2026-06-17T06:47:31.9282640Z       "stages": {
2026-06-17T06:47:31.9283202Z         "doc": {
2026-06-17T06:47:31.9283774Z           "complete": false,
2026-06-17T06:47:31.9284423Z           "evidence": []
2026-06-17T06:47:31.9285025Z         },
2026-06-17T06:47:31.9285550Z         "impl": {
2026-06-17T06:47:31.9286132Z           "complete": true,
2026-06-17T06:47:31.9286762Z           "evidence": [
2026-06-17T06:47:31.9287368Z             {
2026-06-17T06:47:31.9288019Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T06:47:31.9288844Z               "line": 482
2026-06-17T06:47:31.9289525Z             },
2026-06-17T06:47:31.9290076Z             {
2026-06-17T06:47:31.9290738Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-17T06:47:31.9291578Z               "line": 297
2026-06-17T06:47:31.9292189Z             },
2026-06-17T06:47:31.9292730Z             {
2026-06-17T06:47:31.9293352Z               "path": "crates/spt-store/src/rename.rs",
2026-06-17T06:47:31.9294140Z               "line": 59
2026-06-17T06:47:31.9294746Z             },
2026-06-17T06:47:31.9295278Z             {
2026-06-17T06:47:31.9295877Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.9296639Z               "line": 4996
2026-06-17T06:47:31.9297259Z             },
2026-06-17T06:47:31.9297802Z             {
2026-06-17T06:47:31.9298399Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.9299262Z               "line": 6809
2026-06-17T06:47:31.9299886Z             }
2026-06-17T06:47:31.9300427Z           ]
2026-06-17T06:47:31.9300951Z         },
2026-06-17T06:47:31.9301485Z         "int": {
2026-06-17T06:47:31.9302066Z           "complete": false,
2026-06-17T06:47:31.9302715Z           "evidence": []
2026-06-17T06:47:31.9303461Z         },
2026-06-17T06:47:31.9304003Z         "unit": {
2026-06-17T06:47:31.9304594Z           "complete": true,
2026-06-17T06:47:31.9305233Z           "evidence": [
2026-06-17T06:47:31.9305828Z             {
2026-06-17T06:47:31.9306474Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T06:47:31.9307286Z               "line": 1403
2026-06-17T06:47:31.9307906Z             },
2026-06-17T06:47:31.9308459Z             {
2026-06-17T06:47:31.9309163Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T06:47:31.9310103Z               "line": 1436
2026-06-17T06:47:31.9310722Z             },
2026-06-17T06:47:31.9311267Z             {
2026-06-17T06:47:31.9311929Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-17T06:47:31.9312750Z               "line": 527
2026-06-17T06:47:31.9313362Z             },
2026-06-17T06:47:31.9313907Z             {
2026-06-17T06:47:31.9314539Z               "path": "crates/spt-store/src/rename.rs",
2026-06-17T06:47:31.9315322Z               "line": 160
2026-06-17T06:47:31.9315918Z             },
2026-06-17T06:47:31.9316474Z             {
2026-06-17T06:47:31.9317106Z               "path": "crates/spt-store/src/rename.rs",
2026-06-17T06:47:31.9317893Z               "line": 190
2026-06-17T06:47:31.9318499Z             },
2026-06-17T06:47:31.9319124Z             {
2026-06-17T06:47:31.9319752Z               "path": "crates/spt-store/src/rename.rs",
2026-06-17T06:47:31.9320548Z               "line": 225
2026-06-17T06:47:31.9321162Z             },
2026-06-17T06:47:31.9321715Z             {
2026-06-17T06:47:31.9322314Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.9323072Z               "line": 7308
2026-06-17T06:47:31.9323663Z             }
2026-06-17T06:47:31.9324208Z           ]
2026-06-17T06:47:31.9324732Z         }
2026-06-17T06:47:31.9325267Z       }
2026-06-17T06:47:31.9325767Z     },
2026-06-17T06:47:31.9326282Z     {
2026-06-17T06:47:31.9326831Z       "id": "REQ-INST-12",
2026-06-17T06:47:31.9328044Z       "title": "Endpoint visibility per-(endpoint,subnet): excluded semantics, OR-of-defaults + override, gates sync",
2026-06-17T06:47:31.9329464Z       "requiredStages": [
2026-06-17T06:47:31.9330093Z         "impl",
2026-06-17T06:47:31.9330651Z         "unit"
2026-06-17T06:47:31.9331189Z       ],
2026-06-17T06:47:31.9331717Z       "stages": {
2026-06-17T06:47:31.9332303Z         "doc": {
2026-06-17T06:47:31.9332884Z           "complete": false,
2026-06-17T06:47:31.9333537Z           "evidence": []
2026-06-17T06:47:31.9334148Z         },
2026-06-17T06:47:31.9334686Z         "impl": {
2026-06-17T06:47:31.9335269Z           "complete": true,
2026-06-17T06:47:31.9335921Z           "evidence": [
2026-06-17T06:47:31.9336518Z             {
2026-06-17T06:47:31.9337161Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T06:47:31.9337959Z               "line": 534
2026-06-17T06:47:31.9338575Z             },
2026-06-17T06:47:31.9339199Z             {
2026-06-17T06:47:31.9339906Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T06:47:31.9340729Z               "line": 627
2026-06-17T06:47:31.9340973Z             },
2026-06-17T06:47:31.9341225Z             {
2026-06-17T06:47:31.9341583Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T06:47:31.9341845Z               "line": 707
2026-06-17T06:47:31.9342103Z             },
2026-06-17T06:47:31.9342345Z             {
2026-06-17T06:47:31.9342688Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-17T06:47:31.9342952Z               "line": 96
2026-06-17T06:47:31.9343201Z             },
2026-06-17T06:47:31.9343444Z             {
2026-06-17T06:47:31.9343783Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-17T06:47:31.9344036Z               "line": 269
2026-06-17T06:47:31.9344282Z             },
2026-06-17T06:47:31.9344535Z             {
2026-06-17T06:47:31.9344879Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-17T06:47:31.9345140Z               "line": 135
2026-06-17T06:47:31.9345516Z             }
2026-06-17T06:47:31.9345768Z           ]
2026-06-17T06:47:31.9346011Z         },
2026-06-17T06:47:31.9346263Z         "int": {
2026-06-17T06:47:31.9346539Z           "complete": false,
2026-06-17T06:47:31.9346806Z           "evidence": []
2026-06-17T06:47:31.9347049Z         },
2026-06-17T06:47:31.9347298Z         "unit": {
2026-06-17T06:47:31.9347561Z           "complete": true,
2026-06-17T06:47:31.9347822Z           "evidence": [
2026-06-17T06:47:31.9348174Z             {
2026-06-17T06:47:31.9348529Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T06:47:31.9348796Z               "line": 1478
2026-06-17T06:47:31.9349105Z             },
2026-06-17T06:47:31.9349358Z             {
2026-06-17T06:47:31.9349730Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T06:47:31.9350002Z               "line": 1501
2026-06-17T06:47:31.9350241Z             },
2026-06-17T06:47:31.9350495Z             {
2026-06-17T06:47:31.9350847Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T06:47:31.9351113Z               "line": 1538
2026-06-17T06:47:31.9351365Z             },
2026-06-17T06:47:31.9351613Z             {
2026-06-17T06:47:31.9351942Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-17T06:47:31.9352205Z               "line": 457
2026-06-17T06:47:31.9352453Z             },
2026-06-17T06:47:31.9352706Z             {
2026-06-17T06:47:31.9353054Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-17T06:47:31.9353319Z               "line": 172
2026-06-17T06:47:31.9353559Z             },
2026-06-17T06:47:31.9353813Z             {
2026-06-17T06:47:31.9354170Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-17T06:47:31.9354437Z               "line": 193
2026-06-17T06:47:31.9354691Z             },
2026-06-17T06:47:31.9354934Z             {
2026-06-17T06:47:31.9355297Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-17T06:47:31.9355555Z               "line": 219
2026-06-17T06:47:31.9355816Z             }
2026-06-17T06:47:31.9356062Z           ]
2026-06-17T06:47:31.9356309Z         }
2026-06-17T06:47:31.9356556Z       }
2026-06-17T06:47:31.9356799Z     },
2026-06-17T06:47:31.9357042Z     {
2026-06-17T06:47:31.9357315Z       "id": "REQ-INST-13",
2026-06-17T06:47:31.9357835Z       "title": "Subnet-exclusive sync + per-endpoint subnet-membership list",
2026-06-17T06:47:31.9358126Z       "requiredStages": [
2026-06-17T06:47:31.9358373Z         "impl",
2026-06-17T06:47:31.9358634Z         "unit"
2026-06-17T06:47:31.9358876Z       ],
2026-06-17T06:47:31.9359223Z       "stages": {
2026-06-17T06:47:31.9359490Z         "doc": {
2026-06-17T06:47:31.9359763Z           "complete": false,
2026-06-17T06:47:31.9360025Z           "evidence": []
2026-06-17T06:47:31.9360281Z         },
2026-06-17T06:47:31.9360534Z         "impl": {
2026-06-17T06:47:31.9360805Z           "complete": true,
2026-06-17T06:47:31.9361060Z           "evidence": [
2026-06-17T06:47:31.9361308Z             {
2026-06-17T06:47:31.9361654Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-17T06:47:31.9361915Z               "line": 100
2026-06-17T06:47:31.9362168Z             },
2026-06-17T06:47:31.9362417Z             {
2026-06-17T06:47:31.9362779Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-17T06:47:31.9363046Z               "line": 158
2026-06-17T06:47:31.9363285Z             }
2026-06-17T06:47:31.9363538Z           ]
2026-06-17T06:47:31.9363784Z         },
2026-06-17T06:47:31.9364044Z         "int": {
2026-06-17T06:47:31.9364331Z           "complete": false,
2026-06-17T06:47:31.9364588Z           "evidence": []
2026-06-17T06:47:31.9364855Z         },
2026-06-17T06:47:31.9365126Z         "unit": {
2026-06-17T06:47:31.9365422Z           "complete": true,
2026-06-17T06:47:31.9365708Z           "evidence": [
2026-06-17T06:47:31.9365970Z             {
2026-06-17T06:47:31.9366333Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-17T06:47:31.9366599Z               "line": 248
2026-06-17T06:47:31.9366977Z             },
2026-06-17T06:47:31.9367226Z             {
2026-06-17T06:47:31.9367588Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-17T06:47:31.9367851Z               "line": 266
2026-06-17T06:47:31.9368094Z             }
2026-06-17T06:47:31.9368347Z           ]
2026-06-17T06:47:31.9368584Z         }
2026-06-17T06:47:31.9368836Z       }
2026-06-17T06:47:31.9369147Z     },
2026-06-17T06:47:31.9369399Z     {
2026-06-17T06:47:31.9369807Z       "id": "REQ-INST-14",
2026-06-17T06:47:31.9370923Z       "title": "Resource advertisement (subnet resource registry): free-text blurb, both-authored, registry projection, visibility/whitelist-gated",
2026-06-17T06:47:31.9371204Z       "requiredStages": [
2026-06-17T06:47:31.9371451Z         "doc",
2026-06-17T06:47:31.9371708Z         "impl",
2026-06-17T06:47:31.9371958Z         "unit"
2026-06-17T06:47:31.9372214Z       ],
2026-06-17T06:47:31.9372461Z       "stages": {
2026-06-17T06:47:31.9372714Z         "doc": {
2026-06-17T06:47:31.9372996Z           "complete": true,
2026-06-17T06:47:31.9373244Z           "evidence": [
2026-06-17T06:47:31.9373502Z             {
2026-06-17T06:47:31.9373783Z               "path": "CONTEXT.md",
2026-06-17T06:47:31.9374059Z               "line": 540
2026-06-17T06:47:31.9374311Z             },
2026-06-17T06:47:31.9374566Z             {
2026-06-17T06:47:31.9374862Z               "path": "docs/STORAGE.md",
2026-06-17T06:47:31.9375119Z               "line": 49
2026-06-17T06:47:31.9375377Z             }
2026-06-17T06:47:31.9375629Z           ]
2026-06-17T06:47:31.9375882Z         },
2026-06-17T06:47:31.9376144Z         "impl": {
2026-06-17T06:47:31.9376421Z           "complete": true,
2026-06-17T06:47:31.9376694Z           "evidence": [
2026-06-17T06:47:31.9376941Z             {
2026-06-17T06:47:31.9377326Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T06:47:31.9377590Z               "line": 404
2026-06-17T06:47:31.9377852Z             },
2026-06-17T06:47:31.9378096Z             {
2026-06-17T06:47:31.9378453Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T06:47:31.9378721Z               "line": 346
2026-06-17T06:47:31.9379050Z             },
2026-06-17T06:47:31.9379308Z             {
2026-06-17T06:47:31.9379632Z               "path": "crates/spt-store/src/info.rs",
2026-06-17T06:47:31.9379897Z               "line": 270
2026-06-17T06:47:31.9380142Z             },
2026-06-17T06:47:31.9380386Z             {
2026-06-17T06:47:31.9380696Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.9380973Z               "line": 1433
2026-06-17T06:47:31.9381235Z             }
2026-06-17T06:47:31.9381507Z           ]
2026-06-17T06:47:31.9381755Z         },
2026-06-17T06:47:31.9382016Z         "int": {
2026-06-17T06:47:31.9382288Z           "complete": false,
2026-06-17T06:47:31.9382556Z           "evidence": []
2026-06-17T06:47:31.9382803Z         },
2026-06-17T06:47:31.9383045Z         "unit": {
2026-06-17T06:47:31.9383307Z           "complete": true,
2026-06-17T06:47:31.9383579Z           "evidence": [
2026-06-17T06:47:31.9383828Z             {
2026-06-17T06:47:31.9384214Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T06:47:31.9384476Z               "line": 1111
2026-06-17T06:47:31.9384716Z             },
2026-06-17T06:47:31.9384961Z             {
2026-06-17T06:47:31.9385312Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T06:47:31.9385573Z               "line": 912
2026-06-17T06:47:31.9385831Z             },
2026-06-17T06:47:31.9386075Z             {
2026-06-17T06:47:31.9386437Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T06:47:31.9386699Z               "line": 1173
2026-06-17T06:47:31.9386981Z             },
2026-06-17T06:47:31.9387220Z             {
2026-06-17T06:47:31.9387549Z               "path": "crates/spt-store/src/info.rs",
2026-06-17T06:47:31.9387804Z               "line": 602
2026-06-17T06:47:31.9388055Z             },
2026-06-17T06:47:31.9388299Z             {
2026-06-17T06:47:31.9388732Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.9389084Z               "line": 7384
2026-06-17T06:47:31.9389338Z             }
2026-06-17T06:47:31.9389586Z           ]
2026-06-17T06:47:31.9389844Z         }
2026-06-17T06:47:31.9390087Z       }
2026-06-17T06:47:31.9390333Z     },
2026-06-17T06:47:31.9390570Z     {
2026-06-17T06:47:31.9390833Z       "id": "REQ-INST-15",
2026-06-17T06:47:31.9392935Z       "title": "Immutable home subnet (assigned at creation: auto-if-one/ask-if-many) + spt fork (cross-subnet clone to a new identity, copy-then-diverge, not re-home); adapter chosen at creation from registered hostable adapters, changed only via launch/resume-under-new (ADR-0010)",
2026-06-17T06:47:31.9393315Z       "requiredStages": [
2026-06-17T06:47:31.9393577Z         "doc",
2026-06-17T06:47:31.9393825Z         "impl",
2026-06-17T06:47:31.9394083Z         "unit"
2026-06-17T06:47:31.9394331Z       ],
2026-06-17T06:47:31.9394579Z       "stages": {
2026-06-17T06:47:31.9394836Z         "doc": {
2026-06-17T06:47:31.9395113Z           "complete": true,
2026-06-17T06:47:31.9395374Z           "evidence": [
2026-06-17T06:47:31.9395622Z             {
2026-06-17T06:47:31.9396134Z               "path": "docs/adr/0010-immutable-home-subnet-fork-not-rehome.md",
2026-06-17T06:47:31.9396396Z               "line": 3
2026-06-17T06:47:31.9396655Z             }
2026-06-17T06:47:31.9396912Z           ]
2026-06-17T06:47:31.9397160Z         },
2026-06-17T06:47:31.9397421Z         "impl": {
2026-06-17T06:47:31.9397693Z           "complete": true,
2026-06-17T06:47:31.9403836Z           "evidence": [
2026-06-17T06:47:31.9404165Z             {
2026-06-17T06:47:31.9404567Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T06:47:31.9404824Z               "line": 353
2026-06-17T06:47:31.9405066Z             },
2026-06-17T06:47:31.9405320Z             {
2026-06-17T06:47:31.9405643Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-17T06:47:31.9405906Z               "line": 60
2026-06-17T06:47:31.9406163Z             },
2026-06-17T06:47:31.9406423Z             {
2026-06-17T06:47:31.9406795Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-17T06:47:31.9407047Z               "line": 368
2026-06-17T06:47:31.9407299Z             },
2026-06-17T06:47:31.9407549Z             {
2026-06-17T06:47:31.9407924Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-17T06:47:31.9408186Z               "line": 417
2026-06-17T06:47:31.9408440Z             },
2026-06-17T06:47:31.9408694Z             {
2026-06-17T06:47:31.9409133Z               "path": "crates/spt-store/src/home.rs",
2026-06-17T06:47:31.9409414Z               "line": 19
2026-06-17T06:47:31.9409663Z             },
2026-06-17T06:47:31.9409914Z             {
2026-06-17T06:47:31.9410244Z               "path": "crates/spt-store/src/home.rs",
2026-06-17T06:47:31.9410506Z               "line": 70
2026-06-17T06:47:31.9410748Z             },
2026-06-17T06:47:31.9410997Z             {
2026-06-17T06:47:31.9411340Z               "path": "crates/spt-store/src/home.rs",
2026-06-17T06:47:31.9411597Z               "line": 96
2026-06-17T06:47:31.9411856Z             },
2026-06-17T06:47:31.9412095Z             {
2026-06-17T06:47:31.9412419Z               "path": "crates/spt-store/src/home.rs",
2026-06-17T06:47:31.9412677Z               "line": 121
2026-06-17T06:47:31.9412930Z             },
2026-06-17T06:47:31.9413179Z             {
2026-06-17T06:47:31.9413503Z               "path": "crates/spt-store/src/home.rs",
2026-06-17T06:47:31.9413784Z               "line": 172
2026-06-17T06:47:31.9414022Z             },
2026-06-17T06:47:31.9414278Z             {
2026-06-17T06:47:31.9414621Z               "path": "crates/spt/src/api/startup.rs",
2026-06-17T06:47:31.9414884Z               "line": 138
2026-06-17T06:47:31.9415137Z             },
2026-06-17T06:47:31.9415374Z             {
2026-06-17T06:47:31.9415680Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.9415946Z               "line": 1325
2026-06-17T06:47:31.9416415Z             }
2026-06-17T06:47:31.9416661Z           ]
2026-06-17T06:47:31.9416906Z         },
2026-06-17T06:47:31.9417155Z         "int": {
2026-06-17T06:47:31.9417421Z           "complete": false,
2026-06-17T06:47:31.9417685Z           "evidence": []
2026-06-17T06:47:31.9417932Z         },
2026-06-17T06:47:31.9418188Z         "unit": {
2026-06-17T06:47:31.9418466Z           "complete": true,
2026-06-17T06:47:31.9418723Z           "evidence": [
2026-06-17T06:47:31.9419162Z             {
2026-06-17T06:47:31.9419561Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-17T06:47:31.9419840Z               "line": 577
2026-06-17T06:47:31.9420093Z             },
2026-06-17T06:47:31.9420337Z             {
2026-06-17T06:47:31.9420708Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-17T06:47:31.9420975Z               "line": 638
2026-06-17T06:47:31.9421224Z             },
2026-06-17T06:47:31.9421467Z             {
2026-06-17T06:47:31.9421801Z               "path": "crates/spt-store/src/home.rs",
2026-06-17T06:47:31.9422051Z               "line": 213
2026-06-17T06:47:31.9422293Z             },
2026-06-17T06:47:31.9422547Z             {
2026-06-17T06:47:31.9422875Z               "path": "crates/spt-store/src/home.rs",
2026-06-17T06:47:31.9423137Z               "line": 249
2026-06-17T06:47:31.9423385Z             },
2026-06-17T06:47:31.9423642Z             {
2026-06-17T06:47:31.9423966Z               "path": "crates/spt-store/src/home.rs",
2026-06-17T06:47:31.9424238Z               "line": 262
2026-06-17T06:47:31.9424490Z             },
2026-06-17T06:47:31.9424740Z             {
2026-06-17T06:47:31.9425077Z               "path": "crates/spt-store/src/home.rs",
2026-06-17T06:47:31.9425344Z               "line": 338
2026-06-17T06:47:31.9425596Z             },
2026-06-17T06:47:31.9425853Z             {
2026-06-17T06:47:31.9426182Z               "path": "crates/spt/src/api/startup.rs",
2026-06-17T06:47:31.9426450Z               "line": 541
2026-06-17T06:47:31.9426693Z             },
2026-06-17T06:47:31.9426947Z             {
2026-06-17T06:47:31.9427240Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.9427514Z               "line": 7321
2026-06-17T06:47:31.9427767Z             },
2026-06-17T06:47:31.9428015Z             {
2026-06-17T06:47:31.9428315Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.9428574Z               "line": 9061
2026-06-17T06:47:31.9428826Z             }
2026-06-17T06:47:31.9429165Z           ]
2026-06-17T06:47:31.9429422Z         }
2026-06-17T06:47:31.9429684Z       }
2026-06-17T06:47:31.9429936Z     },
2026-06-17T06:47:31.9430179Z     {
2026-06-17T06:47:31.9430448Z       "id": "REQ-INST-2",
2026-06-17T06:47:31.9430802Z       "title": "Per-node files, synced Psyche mind",
2026-06-17T06:47:31.9431078Z       "requiredStages": [
2026-06-17T06:47:31.9431335Z         "impl",
2026-06-17T06:47:31.9431592Z         "unit"
2026-06-17T06:47:31.9431845Z       ],
2026-06-17T06:47:31.9432099Z       "stages": {
2026-06-17T06:47:31.9432352Z         "doc": {
2026-06-17T06:47:31.9432616Z           "complete": false,
2026-06-17T06:47:31.9432881Z           "evidence": []
2026-06-17T06:47:31.9433130Z         },
2026-06-17T06:47:31.9433387Z         "impl": {
2026-06-17T06:47:31.9433650Z           "complete": true,
2026-06-17T06:47:31.9433906Z           "evidence": [
2026-06-17T06:47:31.9434145Z             {
2026-06-17T06:47:31.9434512Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-17T06:47:31.9434770Z               "line": 107
2026-06-17T06:47:31.9435013Z             },
2026-06-17T06:47:31.9435262Z             {
2026-06-17T06:47:31.9435580Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-17T06:47:31.9435846Z               "line": 28
2026-06-17T06:47:31.9436094Z             },
2026-06-17T06:47:31.9436338Z             {
2026-06-17T06:47:31.9436671Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-17T06:47:31.9436934Z               "line": 74
2026-06-17T06:47:31.9437188Z             },
2026-06-17T06:47:31.9437544Z             {
2026-06-17T06:47:31.9437885Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-17T06:47:31.9438142Z               "line": 96
2026-06-17T06:47:31.9438399Z             },
2026-06-17T06:47:31.9438647Z             {
2026-06-17T06:47:31.9439062Z               "path": "crates/spt-live/src/resume.rs",
2026-06-17T06:47:31.9439328Z               "line": 86
2026-06-17T06:47:31.9439576Z             },
2026-06-17T06:47:31.9439824Z             {
2026-06-17T06:47:31.9440272Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-17T06:47:31.9440539Z               "line": 118
2026-06-17T06:47:31.9440785Z             }
2026-06-17T06:47:31.9441032Z           ]
2026-06-17T06:47:31.9441284Z         },
2026-06-17T06:47:31.9441528Z         "int": {
2026-06-17T06:47:31.9441800Z           "complete": false,
2026-06-17T06:47:31.9442062Z           "evidence": []
2026-06-17T06:47:31.9442306Z         },
2026-06-17T06:47:31.9442558Z         "unit": {
2026-06-17T06:47:31.9442825Z           "complete": true,
2026-06-17T06:47:31.9443077Z           "evidence": [
2026-06-17T06:47:31.9443324Z             {
2026-06-17T06:47:31.9443657Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-17T06:47:31.9443915Z               "line": 250
2026-06-17T06:47:31.9444171Z             },
2026-06-17T06:47:31.9444409Z             {
2026-06-17T06:47:31.9444753Z               "path": "crates/spt-live/src/resume.rs",
2026-06-17T06:47:31.9445006Z               "line": 280
2026-06-17T06:47:31.9445254Z             }
2026-06-17T06:47:31.9445508Z           ]
2026-06-17T06:47:31.9445755Z         }
2026-06-17T06:47:31.9446016Z       }
2026-06-17T06:47:31.9446254Z     },
2026-06-17T06:47:31.9446502Z     {
2026-06-17T06:47:31.9446775Z       "id": "REQ-INST-3",
2026-06-17T06:47:31.9447207Z       "title": "Dormant (warm) / suspended (cold) resting states",
2026-06-17T06:47:31.9447489Z       "requiredStages": [
2026-06-17T06:47:31.9447733Z         "doc",
2026-06-17T06:47:31.9447980Z         "impl",
2026-06-17T06:47:31.9448227Z         "unit"
2026-06-17T06:47:31.9448478Z       ],
2026-06-17T06:47:31.9448730Z       "stages": {
2026-06-17T06:47:31.9449069Z         "doc": {
2026-06-17T06:47:31.9449341Z           "complete": true,
2026-06-17T06:47:31.9449593Z           "evidence": [
2026-06-17T06:47:31.9449841Z             {
2026-06-17T06:47:31.9450146Z               "path": "docs/DORMANCY-BUDGET.md",
2026-06-17T06:47:31.9450408Z               "line": 3
2026-06-17T06:47:31.9450652Z             }
2026-06-17T06:47:31.9450895Z           ]
2026-06-17T06:47:31.9451151Z         },
2026-06-17T06:47:31.9451402Z         "impl": {
2026-06-17T06:47:31.9451669Z           "complete": true,
2026-06-17T06:47:31.9451917Z           "evidence": [
2026-06-17T06:47:31.9452164Z             {
2026-06-17T06:47:31.9452513Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-17T06:47:31.9452760Z               "line": 59
2026-06-17T06:47:31.9453013Z             },
2026-06-17T06:47:31.9453266Z             {
2026-06-17T06:47:31.9453623Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-17T06:47:31.9453870Z               "line": 480
2026-06-17T06:47:31.9454121Z             },
2026-06-17T06:47:31.9454368Z             {
2026-06-17T06:47:31.9454717Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-17T06:47:31.9454978Z               "line": 229
2026-06-17T06:47:31.9455222Z             },
2026-06-17T06:47:31.9455466Z             {
2026-06-17T06:47:31.9455823Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-17T06:47:31.9456092Z               "line": 359
2026-06-17T06:47:31.9456340Z             },
2026-06-17T06:47:31.9456585Z             {
2026-06-17T06:47:31.9456937Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-17T06:47:31.9457200Z               "line": 393
2026-06-17T06:47:31.9457459Z             },
2026-06-17T06:47:31.9457697Z             {
2026-06-17T06:47:31.9458063Z               "path": "crates/spt-daemon/src/pump/sync.rs",
2026-06-17T06:47:31.9458435Z               "line": 74
2026-06-17T06:47:31.9458674Z             },
2026-06-17T06:47:31.9458920Z             {
2026-06-17T06:47:31.9459372Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T06:47:31.9459634Z               "line": 234
2026-06-17T06:47:31.9459872Z             },
2026-06-17T06:47:31.9460124Z             {
2026-06-17T06:47:31.9460497Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T06:47:31.9460754Z               "line": 390
2026-06-17T06:47:31.9461146Z             },
2026-06-17T06:47:31.9461398Z             {
2026-06-17T06:47:31.9461749Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-17T06:47:31.9462014Z               "line": 45
2026-06-17T06:47:31.9462267Z             },
2026-06-17T06:47:31.9462525Z             {
2026-06-17T06:47:31.9462868Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-17T06:47:31.9463126Z               "line": 114
2026-06-17T06:47:31.9463373Z             },
2026-06-17T06:47:31.9463635Z             {
2026-06-17T06:47:31.9463989Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-17T06:47:31.9464244Z               "line": 152
2026-06-17T06:47:31.9464496Z             },
2026-06-17T06:47:31.9464734Z             {
2026-06-17T06:47:31.9465087Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-17T06:47:31.9465344Z               "line": 168
2026-06-17T06:47:31.9465592Z             },
2026-06-17T06:47:31.9465840Z             {
2026-06-17T06:47:31.9466187Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-17T06:47:31.9466455Z               "line": 178
2026-06-17T06:47:31.9466703Z             },
2026-06-17T06:47:31.9466952Z             {
2026-06-17T06:47:31.9467294Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-17T06:47:31.9467570Z               "line": 210
2026-06-17T06:47:31.9467827Z             },
2026-06-17T06:47:31.9468075Z             {
2026-06-17T06:47:31.9468422Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-17T06:47:31.9468686Z               "line": 287
2026-06-17T06:47:31.9469019Z             },
2026-06-17T06:47:31.9469267Z             {
2026-06-17T06:47:31.9469622Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-17T06:47:31.9469884Z               "line": 311
2026-06-17T06:47:31.9470132Z             },
2026-06-17T06:47:31.9470384Z             {
2026-06-17T06:47:31.9470723Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-17T06:47:31.9470999Z               "line": 389
2026-06-17T06:47:31.9471247Z             },
2026-06-17T06:47:31.9471504Z             {
2026-06-17T06:47:31.9471843Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-17T06:47:31.9472107Z               "line": 438
2026-06-17T06:47:31.9472372Z             },
2026-06-17T06:47:31.9472621Z             {
2026-06-17T06:47:31.9472984Z               "path": "crates/spt-daemon/tests/budget.rs",
2026-06-17T06:47:31.9473241Z               "line": 37
2026-06-17T06:47:31.9473499Z             },
2026-06-17T06:47:31.9473762Z             {
2026-06-17T06:47:31.9474119Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T06:47:31.9474372Z               "line": 62
2026-06-17T06:47:31.9474622Z             },
2026-06-17T06:47:31.9474866Z             {
2026-06-17T06:47:31.9475198Z               "path": "crates/spt-store/src/info.rs",
2026-06-17T06:47:31.9475455Z               "line": 256
2026-06-17T06:47:31.9475695Z             },
2026-06-17T06:47:31.9475942Z             {
2026-06-17T06:47:31.9476253Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.9476505Z               "line": 1664
2026-06-17T06:47:31.9476762Z             }
2026-06-17T06:47:31.9477010Z           ]
2026-06-17T06:47:31.9477254Z         },
2026-06-17T06:47:31.9477498Z         "int": {
2026-06-17T06:47:31.9477772Z           "complete": false,
2026-06-17T06:47:31.9478039Z           "evidence": []
2026-06-17T06:47:31.9478287Z         },
2026-06-17T06:47:31.9478535Z         "unit": {
2026-06-17T06:47:31.9478812Z           "complete": true,
2026-06-17T06:47:31.9479260Z           "evidence": [
2026-06-17T06:47:31.9479499Z             {
2026-06-17T06:47:31.9479846Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-17T06:47:31.9480108Z               "line": 360
2026-06-17T06:47:31.9480358Z             },
2026-06-17T06:47:31.9480601Z             {
2026-06-17T06:47:31.9480963Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-17T06:47:31.9481220Z               "line": 812
2026-06-17T06:47:31.9481588Z             },
2026-06-17T06:47:31.9481826Z             {
2026-06-17T06:47:31.9482184Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-17T06:47:31.9482446Z               "line": 869
2026-06-17T06:47:31.9482699Z             },
2026-06-17T06:47:31.9482941Z             {
2026-06-17T06:47:31.9483292Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-17T06:47:31.9483554Z               "line": 889
2026-06-17T06:47:31.9483797Z             },
2026-06-17T06:47:31.9484050Z             {
2026-06-17T06:47:31.9484403Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-17T06:47:31.9484665Z               "line": 1014
2026-06-17T06:47:31.9484923Z             },
2026-06-17T06:47:31.9485167Z             {
2026-06-17T06:47:31.9485546Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T06:47:31.9485806Z               "line": 1212
2026-06-17T06:47:31.9486058Z             },
2026-06-17T06:47:31.9486306Z             {
2026-06-17T06:47:31.9486678Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T06:47:31.9486950Z               "line": 1353
2026-06-17T06:47:31.9487198Z             },
2026-06-17T06:47:31.9487447Z             {
2026-06-17T06:47:31.9487790Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-17T06:47:31.9488058Z               "line": 449
2026-06-17T06:47:31.9488303Z             },
2026-06-17T06:47:31.9488556Z             {
2026-06-17T06:47:31.9488913Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-17T06:47:31.9489262Z               "line": 485
2026-06-17T06:47:31.9489519Z             },
2026-06-17T06:47:31.9489768Z             {
2026-06-17T06:47:31.9490110Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-17T06:47:31.9490374Z               "line": 540
2026-06-17T06:47:31.9490634Z             },
2026-06-17T06:47:31.9490879Z             {
2026-06-17T06:47:31.9491228Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-17T06:47:31.9491499Z               "line": 697
2026-06-17T06:47:31.9491752Z             },
2026-06-17T06:47:31.9491991Z             {
2026-06-17T06:47:31.9492339Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-17T06:47:31.9492593Z               "line": 931
2026-06-17T06:47:31.9492845Z             },
2026-06-17T06:47:31.9493093Z             {
2026-06-17T06:47:31.9493439Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-17T06:47:31.9493699Z               "line": 945
2026-06-17T06:47:31.9493957Z             },
2026-06-17T06:47:31.9494214Z             {
2026-06-17T06:47:31.9494568Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T06:47:31.9494825Z               "line": 1214
2026-06-17T06:47:31.9495078Z             },
2026-06-17T06:47:31.9495326Z             {
2026-06-17T06:47:31.9495655Z               "path": "crates/spt-store/src/info.rs",
2026-06-17T06:47:31.9495906Z               "line": 552
2026-06-17T06:47:31.9496171Z             },
2026-06-17T06:47:31.9496414Z             {
2026-06-17T06:47:31.9496734Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.9496996Z               "line": 7345
2026-06-17T06:47:31.9497252Z             }
2026-06-17T06:47:31.9497501Z           ]
2026-06-17T06:47:31.9497749Z         }
2026-06-17T06:47:31.9497998Z       }
2026-06-17T06:47:31.9498241Z     },
2026-06-17T06:47:31.9498483Z     {
2026-06-17T06:47:31.9498749Z       "id": "REQ-INST-4",
2026-06-17T06:47:31.9499322Z       "title": "active to dormant/suspended fires a transition echo commune",
2026-06-17T06:47:31.9499708Z       "requiredStages": [
2026-06-17T06:47:31.9499966Z         "impl",
2026-06-17T06:47:31.9500214Z         "unit"
2026-06-17T06:47:31.9500466Z       ],
2026-06-17T06:47:31.9500709Z       "stages": {
2026-06-17T06:47:31.9500952Z         "doc": {
2026-06-17T06:47:31.9501232Z           "complete": false,
2026-06-17T06:47:31.9501478Z           "evidence": []
2026-06-17T06:47:31.9501730Z         },
2026-06-17T06:47:31.9502021Z         "impl": {
2026-06-17T06:47:31.9502394Z           "complete": true,
2026-06-17T06:47:31.9502665Z           "evidence": [
2026-06-17T06:47:31.9502904Z             {
2026-06-17T06:47:31.9503267Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-17T06:47:31.9503533Z               "line": 360
2026-06-17T06:47:31.9503787Z             },
2026-06-17T06:47:31.9504043Z             {
2026-06-17T06:47:31.9504383Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-17T06:47:31.9504655Z               "line": 202
2026-06-17T06:47:31.9504907Z             },
2026-06-17T06:47:31.9505161Z             {
2026-06-17T06:47:31.9505509Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-17T06:47:31.9505775Z               "line": 234
2026-06-17T06:47:31.9506053Z             },
2026-06-17T06:47:31.9506297Z             {
2026-06-17T06:47:31.9506647Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-17T06:47:31.9506898Z               "line": 274
2026-06-17T06:47:31.9507155Z             }
2026-06-17T06:47:31.9507408Z           ]
2026-06-17T06:47:31.9507661Z         },
2026-06-17T06:47:31.9507914Z         "int": {
2026-06-17T06:47:31.9508181Z           "complete": false,
2026-06-17T06:47:31.9508452Z           "evidence": []
2026-06-17T06:47:31.9508700Z         },
2026-06-17T06:47:31.9509015Z         "unit": {
2026-06-17T06:47:31.9509277Z           "complete": true,
2026-06-17T06:47:31.9509549Z           "evidence": [
2026-06-17T06:47:31.9509801Z             {
2026-06-17T06:47:31.9510159Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-17T06:47:31.9510435Z               "line": 864
2026-06-17T06:47:31.9510673Z             },
2026-06-17T06:47:31.9510931Z             {
2026-06-17T06:47:31.9511274Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-17T06:47:31.9511545Z               "line": 561
2026-06-17T06:47:31.9511802Z             },
2026-06-17T06:47:31.9512043Z             {
2026-06-17T06:47:31.9512391Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-17T06:47:31.9512658Z               "line": 668
2026-06-17T06:47:31.9512910Z             },
2026-06-17T06:47:31.9513159Z             {
2026-06-17T06:47:31.9513507Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-17T06:47:31.9513783Z               "line": 750
2026-06-17T06:47:31.9514032Z             }
2026-06-17T06:47:31.9514276Z           ]
2026-06-17T06:47:31.9514526Z         }
2026-06-17T06:47:31.9514781Z       }
2026-06-17T06:47:31.9515025Z     },
2026-06-17T06:47:31.9515273Z     {
2026-06-17T06:47:31.9515545Z       "id": "REQ-INST-5",
2026-06-17T06:47:31.9516060Z       "title": "Two-tier context sync (live to all, project to same-project)",
2026-06-17T06:47:31.9516340Z       "requiredStages": [
2026-06-17T06:47:31.9516595Z         "impl",
2026-06-17T06:47:31.9516857Z         "unit",
2026-06-17T06:47:31.9517111Z         "int"
2026-06-17T06:47:31.9517367Z       ],
2026-06-17T06:47:31.9517625Z       "stages": {
2026-06-17T06:47:31.9517873Z         "doc": {
2026-06-17T06:47:31.9518145Z           "complete": false,
2026-06-17T06:47:31.9518417Z           "evidence": []
2026-06-17T06:47:31.9518674Z         },
2026-06-17T06:47:31.9518927Z         "impl": {
2026-06-17T06:47:31.9519270Z           "complete": true,
2026-06-17T06:47:31.9519531Z           "evidence": [
2026-06-17T06:47:31.9519772Z             {
2026-06-17T06:47:31.9520138Z               "path": "crates/spt-daemon/src/pump/sync.rs",
2026-06-17T06:47:31.9520385Z               "line": 85
2026-06-17T06:47:31.9520642Z             },
2026-06-17T06:47:31.9520890Z             {
2026-06-17T06:47:31.9521344Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-17T06:47:31.9521606Z               "line": 68
2026-06-17T06:47:31.9521848Z             },
2026-06-17T06:47:31.9522105Z             {
2026-06-17T06:47:31.9522432Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-17T06:47:31.9522695Z               "line": 99
2026-06-17T06:47:31.9522937Z             },
2026-06-17T06:47:31.9523184Z             {
2026-06-17T06:47:31.9523519Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-17T06:47:31.9523892Z               "line": 183
2026-06-17T06:47:31.9524153Z             },
2026-06-17T06:47:31.9524401Z             {
2026-06-17T06:47:31.9524735Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-17T06:47:31.9524997Z               "line": 314
2026-06-17T06:47:31.9525248Z             }
2026-06-17T06:47:31.9525495Z           ]
2026-06-17T06:47:31.9525752Z         },
2026-06-17T06:47:31.9526009Z         "int": {
2026-06-17T06:47:31.9526286Z           "complete": true,
2026-06-17T06:47:31.9526558Z           "evidence": [
2026-06-17T06:47:31.9526802Z             {
2026-06-17T06:47:31.9527173Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-17T06:47:31.9527436Z               "line": 156
2026-06-17T06:47:31.9527681Z             },
2026-06-17T06:47:31.9527941Z             {
2026-06-17T06:47:31.9528294Z               "path": "crates/spt-daemon/tests/pump.rs",
2026-06-17T06:47:31.9528566Z               "line": 145
2026-06-17T06:47:31.9528820Z             },
2026-06-17T06:47:31.9529153Z             {
2026-06-17T06:47:31.9529515Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-17T06:47:31.9529777Z               "line": 705
2026-06-17T06:47:31.9530031Z             },
2026-06-17T06:47:31.9530275Z             {
2026-06-17T06:47:31.9530640Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-17T06:47:31.9530907Z               "line": 1067
2026-06-17T06:47:31.9531149Z             }
2026-06-17T06:47:31.9531398Z           ]
2026-06-17T06:47:31.9531650Z         },
2026-06-17T06:47:31.9531894Z         "unit": {
2026-06-17T06:47:31.9532166Z           "complete": true,
2026-06-17T06:47:31.9532427Z           "evidence": [
2026-06-17T06:47:31.9532675Z             {
2026-06-17T06:47:31.9533001Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-17T06:47:31.9533283Z               "line": 552
2026-06-17T06:47:31.9533531Z             },
2026-06-17T06:47:31.9533788Z             {
2026-06-17T06:47:31.9534123Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-17T06:47:31.9534384Z               "line": 595
2026-06-17T06:47:31.9534637Z             },
2026-06-17T06:47:31.9534885Z             {
2026-06-17T06:47:31.9535223Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-17T06:47:31.9535477Z               "line": 219
2026-06-17T06:47:31.9535737Z             }
2026-06-17T06:47:31.9535982Z           ]
2026-06-17T06:47:31.9536235Z         }
2026-06-17T06:47:31.9536489Z       }
2026-06-17T06:47:31.9536737Z     },
2026-06-17T06:47:31.9536989Z     {
2026-06-17T06:47:31.9537251Z       "id": "REQ-INST-6",
2026-06-17T06:47:31.9537799Z       "title": "Deferred messages not delivered to dormant/suspended instances",
2026-06-17T06:47:31.9538076Z       "requiredStages": [
2026-06-17T06:47:31.9538332Z         "impl",
2026-06-17T06:47:31.9538593Z         "unit",
2026-06-17T06:47:31.9538845Z         "int"
2026-06-17T06:47:31.9539159Z       ],
2026-06-17T06:47:31.9539418Z       "stages": {
2026-06-17T06:47:31.9539684Z         "doc": {
2026-06-17T06:47:31.9539961Z           "complete": true,
2026-06-17T06:47:31.9540229Z           "evidence": [
2026-06-17T06:47:31.9540481Z             {
2026-06-17T06:47:31.9540772Z               "path": "docs/DEFERRED.md",
2026-06-17T06:47:31.9541033Z               "line": 13
2026-06-17T06:47:31.9541287Z             }
2026-06-17T06:47:31.9541544Z           ]
2026-06-17T06:47:31.9541787Z         },
2026-06-17T06:47:31.9542048Z         "impl": {
2026-06-17T06:47:31.9542464Z           "complete": true,
2026-06-17T06:47:31.9542726Z           "evidence": [
2026-06-17T06:47:31.9542978Z             {
2026-06-17T06:47:31.9543320Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-17T06:47:31.9543590Z               "line": 391
2026-06-17T06:47:31.9543825Z             },
2026-06-17T06:47:31.9544082Z             {
2026-06-17T06:47:31.9544434Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-17T06:47:31.9544692Z               "line": 27
2026-06-17T06:47:31.9545059Z             },
2026-06-17T06:47:31.9545298Z             {
2026-06-17T06:47:31.9545651Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-17T06:47:31.9545903Z               "line": 73
2026-06-17T06:47:31.9546159Z             },
2026-06-17T06:47:31.9546410Z             {
2026-06-17T06:47:31.9546762Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-17T06:47:31.9547020Z               "line": 182
2026-06-17T06:47:31.9547264Z             },
2026-06-17T06:47:31.9547526Z             {
2026-06-17T06:47:31.9547864Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-17T06:47:31.9548135Z               "line": 426
2026-06-17T06:47:31.9548383Z             },
2026-06-17T06:47:31.9548627Z             {
2026-06-17T06:47:31.9561796Z               "path": "crates/spt-net/src/net/rest.rs",
2026-06-17T06:47:31.9562106Z               "line": 31
2026-06-17T06:47:31.9562364Z             },
2026-06-17T06:47:31.9562611Z             {
2026-06-17T06:47:31.9562969Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-17T06:47:31.9563269Z               "line": 202
2026-06-17T06:47:31.9563517Z             },
2026-06-17T06:47:31.9563769Z             {
2026-06-17T06:47:31.9564098Z               "path": "crates/spt/src/api/worker.rs",
2026-06-17T06:47:31.9564365Z               "line": 83
2026-06-17T06:47:31.9564626Z             },
2026-06-17T06:47:31.9564882Z             {
2026-06-17T06:47:31.9565221Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.9565507Z               "line": 1665
2026-06-17T06:47:31.9565789Z             },
2026-06-17T06:47:31.9566060Z             {
2026-06-17T06:47:31.9566418Z               "path": "crates/spt/src/wansend.rs",
2026-06-17T06:47:31.9566713Z               "line": 179
2026-06-17T06:47:31.9566989Z             },
2026-06-17T06:47:31.9567255Z             {
2026-06-17T06:47:31.9567568Z               "path": "crates/spt/src/wansend.rs",
2026-06-17T06:47:31.9567836Z               "line": 215
2026-06-17T06:47:31.9568089Z             }
2026-06-17T06:47:31.9568350Z           ]
2026-06-17T06:47:31.9568612Z         },
2026-06-17T06:47:31.9568864Z         "int": {
2026-06-17T06:47:31.9569227Z           "complete": true,
2026-06-17T06:47:31.9569489Z           "evidence": [
2026-06-17T06:47:31.9569742Z             {
2026-06-17T06:47:31.9570120Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-17T06:47:31.9570393Z               "line": 719
2026-06-17T06:47:31.9570650Z             },
2026-06-17T06:47:31.9570907Z             {
2026-06-17T06:47:31.9571289Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-17T06:47:31.9571556Z               "line": 1112
2026-06-17T06:47:31.9571808Z             },
2026-06-17T06:47:31.9572066Z             {
2026-06-17T06:47:31.9572414Z               "path": "crates/spt/src/wansend.rs",
2026-06-17T06:47:31.9572704Z               "line": 726
2026-06-17T06:47:31.9572981Z             }
2026-06-17T06:47:31.9573262Z           ]
2026-06-17T06:47:31.9573534Z         },
2026-06-17T06:47:31.9573796Z         "unit": {
2026-06-17T06:47:31.9574077Z           "complete": true,
2026-06-17T06:47:31.9574353Z           "evidence": [
2026-06-17T06:47:31.9574615Z             {
2026-06-17T06:47:31.9574987Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-17T06:47:31.9575265Z               "line": 661
2026-06-17T06:47:31.9575515Z             },
2026-06-17T06:47:31.9575772Z             {
2026-06-17T06:47:31.9576139Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-17T06:47:31.9576595Z               "line": 899
2026-06-17T06:47:31.9576854Z             },
2026-06-17T06:47:31.9577102Z             {
2026-06-17T06:47:31.9577459Z               "path": "crates/spt-net/src/net/rest.rs",
2026-06-17T06:47:31.9577718Z               "line": 66
2026-06-17T06:47:31.9577973Z             },
2026-06-17T06:47:31.9578227Z             {
2026-06-17T06:47:31.9578571Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-17T06:47:31.9578838Z               "line": 297
2026-06-17T06:47:31.9579283Z             },
2026-06-17T06:47:31.9579540Z             {
2026-06-17T06:47:31.9579879Z               "path": "crates/spt/src/api/worker.rs",
2026-06-17T06:47:31.9580150Z               "line": 203
2026-06-17T06:47:31.9580406Z             }
2026-06-17T06:47:31.9580661Z           ]
2026-06-17T06:47:31.9580919Z         }
2026-06-17T06:47:31.9581162Z       }
2026-06-17T06:47:31.9581419Z     },
2026-06-17T06:47:31.9581658Z     {
2026-06-17T06:47:31.9581934Z       "id": "REQ-INST-7",
2026-06-17T06:47:31.9582349Z       "title": "Subnet registry + bare-id resolution policy",
2026-06-17T06:47:31.9582631Z       "requiredStages": [
2026-06-17T06:47:31.9582892Z         "impl",
2026-06-17T06:47:31.9583146Z         "unit",
2026-06-17T06:47:31.9583407Z         "int"
2026-06-17T06:47:31.9583659Z       ],
2026-06-17T06:47:31.9583931Z       "stages": {
2026-06-17T06:47:31.9584185Z         "doc": {
2026-06-17T06:47:31.9584466Z           "complete": false,
2026-06-17T06:47:31.9584742Z           "evidence": []
2026-06-17T06:47:31.9585001Z         },
2026-06-17T06:47:31.9585267Z         "impl": {
2026-06-17T06:47:31.9585542Z           "complete": true,
2026-06-17T06:47:31.9585817Z           "evidence": [
2026-06-17T06:47:31.9586065Z             {
2026-06-17T06:47:31.9586436Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-17T06:47:31.9586708Z               "line": 436
2026-06-17T06:47:31.9586971Z             },
2026-06-17T06:47:31.9587228Z             {
2026-06-17T06:47:31.9587615Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T06:47:31.9587878Z               "line": 27
2026-06-17T06:47:31.9588129Z             },
2026-06-17T06:47:31.9588390Z             {
2026-06-17T06:47:31.9588783Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T06:47:31.9589117Z               "line": 207
2026-06-17T06:47:31.9589365Z             },
2026-06-17T06:47:31.9589609Z             {
2026-06-17T06:47:31.9589999Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T06:47:31.9590270Z               "line": 344
2026-06-17T06:47:31.9590525Z             },
2026-06-17T06:47:31.9590778Z             {
2026-06-17T06:47:31.9591124Z               "path": "crates/spt-net/src/net/ndjson.rs",
2026-06-17T06:47:31.9591398Z               "line": 59
2026-06-17T06:47:31.9591655Z             },
2026-06-17T06:47:31.9591903Z             {
2026-06-17T06:47:31.9592270Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T06:47:31.9592547Z               "line": 41
2026-06-17T06:47:31.9592804Z             },
2026-06-17T06:47:31.9593058Z             {
2026-06-17T06:47:31.9593429Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-17T06:47:31.9593688Z               "line": 27
2026-06-17T06:47:31.9593943Z             },
2026-06-17T06:47:31.9594205Z             {
2026-06-17T06:47:31.9594578Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-17T06:47:31.9594844Z               "line": 119
2026-06-17T06:47:31.9595092Z             },
2026-06-17T06:47:31.9595350Z             {
2026-06-17T06:47:31.9600779Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-17T06:47:31.9601127Z               "line": 134
2026-06-17T06:47:31.9601385Z             },
2026-06-17T06:47:31.9601641Z             {
2026-06-17T06:47:31.9602016Z               "path": "crates/spt-store/src/registry.rs",
2026-06-17T06:47:31.9602278Z               "line": 139
2026-06-17T06:47:31.9602540Z             }
2026-06-17T06:47:31.9602783Z           ]
2026-06-17T06:47:31.9603207Z         },
2026-06-17T06:47:31.9603474Z         "int": {
2026-06-17T06:47:31.9603756Z           "complete": true,
2026-06-17T06:47:31.9604022Z           "evidence": [
2026-06-17T06:47:31.9604277Z             {
2026-06-17T06:47:31.9604642Z               "path": "crates/spt-daemon/tests/pump.rs",
2026-06-17T06:47:31.9604904Z               "line": 145
2026-06-17T06:47:31.9605162Z             },
2026-06-17T06:47:31.9605423Z             {
2026-06-17T06:47:31.9605791Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-17T06:47:31.9606187Z               "line": 663
2026-06-17T06:47:31.9606440Z             },
2026-06-17T06:47:31.9606695Z             {
2026-06-17T06:47:31.9607060Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-17T06:47:31.9607327Z               "line": 962
2026-06-17T06:47:31.9607580Z             }
2026-06-17T06:47:31.9607833Z           ]
2026-06-17T06:47:31.9608086Z         },
2026-06-17T06:47:31.9608334Z         "unit": {
2026-06-17T06:47:31.9608614Z           "complete": true,
2026-06-17T06:47:31.9608882Z           "evidence": [
2026-06-17T06:47:31.9609211Z             {
2026-06-17T06:47:31.9609601Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T06:47:31.9609870Z               "line": 1082
2026-06-17T06:47:31.9610123Z             },
2026-06-17T06:47:31.9610376Z             {
2026-06-17T06:47:31.9610767Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T06:47:31.9611024Z               "line": 1414
2026-06-17T06:47:31.9611292Z             },
2026-06-17T06:47:31.9611550Z             {
2026-06-17T06:47:31.9611931Z               "path": "crates/spt-daemon/tests/replicate.rs",
2026-06-17T06:47:31.9612201Z               "line": 84
2026-06-17T06:47:31.9612461Z             },
2026-06-17T06:47:31.9612713Z             {
2026-06-17T06:47:31.9613080Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T06:47:31.9613353Z               "line": 780
2026-06-17T06:47:31.9613605Z             },
2026-06-17T06:47:31.9613873Z             {
2026-06-17T06:47:31.9614240Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T06:47:31.9614503Z               "line": 791
2026-06-17T06:47:31.9614765Z             },
2026-06-17T06:47:31.9615015Z             {
2026-06-17T06:47:31.9615383Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T06:47:31.9615654Z               "line": 806
2026-06-17T06:47:31.9615902Z             },
2026-06-17T06:47:31.9616165Z             {
2026-06-17T06:47:31.9616542Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-17T06:47:31.9616799Z               "line": 166
2026-06-17T06:47:31.9617053Z             },
2026-06-17T06:47:31.9617317Z             {
2026-06-17T06:47:31.9617697Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-17T06:47:31.9617969Z               "line": 181
2026-06-17T06:47:31.9618225Z             },
2026-06-17T06:47:31.9618483Z             {
2026-06-17T06:47:31.9618865Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-17T06:47:31.9619204Z               "line": 214
2026-06-17T06:47:31.9619461Z             }
2026-06-17T06:47:31.9619713Z           ]
2026-06-17T06:47:31.9619967Z         }
2026-06-17T06:47:31.9620223Z       }
2026-06-17T06:47:31.9620478Z     },
2026-06-17T06:47:31.9620726Z     {
2026-06-17T06:47:31.9620998Z       "id": "REQ-INST-8",
2026-06-17T06:47:31.9621447Z       "title": "Remote-control mode distinct from local operation",
2026-06-17T06:47:31.9621727Z       "requiredStages": [
2026-06-17T06:47:31.9621985Z         "impl",
2026-06-17T06:47:31.9622247Z         "unit",
2026-06-17T06:47:31.9622491Z         "int"
2026-06-17T06:47:31.9622747Z       ],
2026-06-17T06:47:31.9623006Z       "stages": {
2026-06-17T06:47:31.9623265Z         "doc": {
2026-06-17T06:47:31.9623537Z           "complete": false,
2026-06-17T06:47:31.9623799Z           "evidence": []
2026-06-17T06:47:31.9624057Z         },
2026-06-17T06:47:31.9624313Z         "impl": {
2026-06-17T06:47:31.9624594Z           "complete": true,
2026-06-17T06:47:31.9624972Z           "evidence": [
2026-06-17T06:47:31.9625238Z             {
2026-06-17T06:47:31.9625594Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-17T06:47:31.9625857Z               "line": 104
2026-06-17T06:47:31.9626120Z             },
2026-06-17T06:47:31.9626377Z             {
2026-06-17T06:47:31.9626739Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-17T06:47:31.9627021Z               "line": 299
2026-06-17T06:47:31.9627373Z             },
2026-06-17T06:47:31.9627641Z             {
2026-06-17T06:47:31.9627996Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-17T06:47:31.9628262Z               "line": 339
2026-06-17T06:47:31.9628515Z             },
2026-06-17T06:47:31.9628786Z             {
2026-06-17T06:47:31.9629212Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-17T06:47:31.9629478Z               "line": 62
2026-06-17T06:47:31.9629779Z             }
2026-06-17T06:47:31.9630031Z           ]
2026-06-17T06:47:31.9630283Z         },
2026-06-17T06:47:31.9630541Z         "int": {
2026-06-17T06:47:31.9630831Z           "complete": true,
2026-06-17T06:47:31.9631101Z           "evidence": [
2026-06-17T06:47:31.9631348Z             {
2026-06-17T06:47:31.9631731Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-17T06:47:31.9631992Z               "line": 415
2026-06-17T06:47:31.9632249Z             },
2026-06-17T06:47:31.9632507Z             {
2026-06-17T06:47:31.9632879Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-17T06:47:31.9633155Z               "line": 1026
2026-06-17T06:47:31.9633411Z             }
2026-06-17T06:47:31.9633672Z           ]
2026-06-17T06:47:31.9633915Z         },
2026-06-17T06:47:31.9634172Z         "unit": {
2026-06-17T06:47:31.9634445Z           "complete": true,
2026-06-17T06:47:31.9634721Z           "evidence": [
2026-06-17T06:47:31.9634979Z             {
2026-06-17T06:47:31.9635341Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-17T06:47:31.9635623Z               "line": 358
2026-06-17T06:47:31.9635881Z             },
2026-06-17T06:47:31.9636140Z             {
2026-06-17T06:47:31.9636493Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-17T06:47:31.9636765Z               "line": 513
2026-06-17T06:47:31.9637023Z             },
2026-06-17T06:47:31.9637276Z             {
2026-06-17T06:47:31.9637638Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-17T06:47:31.9637896Z               "line": 116
2026-06-17T06:47:31.9638154Z             },
2026-06-17T06:47:31.9638399Z             {
2026-06-17T06:47:31.9638760Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-17T06:47:31.9639123Z               "line": 160
2026-06-17T06:47:31.9639370Z             }
2026-06-17T06:47:31.9639627Z           ]
2026-06-17T06:47:31.9639881Z         }
2026-06-17T06:47:31.9640138Z       }
2026-06-17T06:47:31.9640392Z     },
2026-06-17T06:47:31.9640639Z     {
2026-06-17T06:47:31.9640925Z       "id": "REQ-INST-9",
2026-06-17T06:47:31.9641479Z       "title": "Multi-subnet membership (same-user N subnets; cross-user seam)",
2026-06-17T06:47:31.9641766Z       "requiredStages": [
2026-06-17T06:47:31.9642019Z         "impl",
2026-06-17T06:47:31.9642276Z         "unit"
2026-06-17T06:47:31.9642537Z       ],
2026-06-17T06:47:31.9642805Z       "stages": {
2026-06-17T06:47:31.9643053Z         "doc": {
2026-06-17T06:47:31.9643325Z           "complete": false,
2026-06-17T06:47:31.9643598Z           "evidence": []
2026-06-17T06:47:31.9643853Z         },
2026-06-17T06:47:31.9644112Z         "impl": {
2026-06-17T06:47:31.9644385Z           "complete": true,
2026-06-17T06:47:31.9644666Z           "evidence": [
2026-06-17T06:47:31.9644928Z             {
2026-06-17T06:47:31.9645286Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T06:47:31.9645562Z               "line": 417
2026-06-17T06:47:31.9645816Z             }
2026-06-17T06:47:31.9646078Z           ]
2026-06-17T06:47:31.9646330Z         },
2026-06-17T06:47:31.9646743Z         "int": {
2026-06-17T06:47:31.9647030Z           "complete": false,
2026-06-17T06:47:31.9647301Z           "evidence": []
2026-06-17T06:47:31.9647574Z         },
2026-06-17T06:47:31.9647831Z         "unit": {
2026-06-17T06:47:31.9648118Z           "complete": true,
2026-06-17T06:47:31.9648385Z           "evidence": [
2026-06-17T06:47:31.9648642Z             {
2026-06-17T06:47:31.9649088Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T06:47:31.9649459Z               "line": 1321
2026-06-17T06:47:31.9649721Z             },
2026-06-17T06:47:31.9649979Z             {
2026-06-17T06:47:31.9650355Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T06:47:31.9650632Z               "line": 1330
2026-06-17T06:47:31.9650894Z             },
2026-06-17T06:47:31.9651155Z             {
2026-06-17T06:47:31.9651519Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T06:47:31.9651794Z               "line": 1346
2026-06-17T06:47:31.9652058Z             },
2026-06-17T06:47:31.9652307Z             {
2026-06-17T06:47:31.9652683Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T06:47:31.9652955Z               "line": 1358
2026-06-17T06:47:31.9653218Z             },
2026-06-17T06:47:31.9653471Z             {
2026-06-17T06:47:31.9653838Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T06:47:31.9654114Z               "line": 1378
2026-06-17T06:47:31.9654369Z             }
2026-06-17T06:47:31.9654625Z           ]
2026-06-17T06:47:31.9654883Z         }
2026-06-17T06:47:31.9655145Z       }
2026-06-17T06:47:31.9655398Z     },
2026-06-17T06:47:31.9655645Z     {
2026-06-17T06:47:31.9655931Z       "id": "REQ-INSTALL-1",
2026-06-17T06:47:31.9656508Z       "title": "Two install paths; signed one-line script; OS-service registration",
2026-06-17T06:47:31.9656785Z       "requiredStages": [
2026-06-17T06:47:31.9657049Z         "doc",
2026-06-17T06:47:31.9657299Z         "impl",
2026-06-17T06:47:31.9657551Z         "int"
2026-06-17T06:47:31.9657795Z       ],
2026-06-17T06:47:31.9658048Z       "stages": {
2026-06-17T06:47:31.9658302Z         "doc": {
2026-06-17T06:47:31.9658582Z           "complete": true,
2026-06-17T06:47:31.9658853Z           "evidence": [
2026-06-17T06:47:31.9659197Z             {
2026-06-17T06:47:31.9659482Z               "path": "CONTEXT.md",
2026-06-17T06:47:31.9659756Z               "line": 702
2026-06-17T06:47:31.9660010Z             }
2026-06-17T06:47:31.9660267Z           ]
2026-06-17T06:47:31.9660525Z         },
2026-06-17T06:47:31.9660781Z         "impl": {
2026-06-17T06:47:31.9661062Z           "complete": true,
2026-06-17T06:47:31.9661335Z           "evidence": [
2026-06-17T06:47:31.9661597Z             {
2026-06-17T06:47:31.9661916Z               "path": "installer/install.ps1",
2026-06-17T06:47:31.9662180Z               "line": 57
2026-06-17T06:47:31.9662430Z             },
2026-06-17T06:47:31.9662680Z             {
2026-06-17T06:47:31.9662990Z               "path": "installer/install.sh",
2026-06-17T06:47:31.9663262Z               "line": 52
2026-06-17T06:47:31.9663520Z             }
2026-06-17T06:47:31.9663773Z           ]
2026-06-17T06:47:31.9664031Z         },
2026-06-17T06:47:31.9664283Z         "int": {
2026-06-17T06:47:31.9664564Z           "complete": true,
2026-06-17T06:47:31.9664840Z           "evidence": [
2026-06-17T06:47:31.9665101Z             {
2026-06-17T06:47:31.9665472Z               "path": "crates/spt/tests/oneliner_e2e.rs",
2026-06-17T06:47:31.9665743Z               "line": 21
2026-06-17T06:47:31.9666007Z             }
2026-06-17T06:47:31.9666264Z           ]
2026-06-17T06:47:31.9666530Z         },
2026-06-17T06:47:31.9666859Z         "unit": {
2026-06-17T06:47:31.9667145Z           "complete": false,
2026-06-17T06:47:31.9667417Z           "evidence": []
2026-06-17T06:47:31.9667674Z         }
2026-06-17T06:47:31.9667931Z       }
2026-06-17T06:47:31.9668188Z     },
2026-06-17T06:47:31.9668445Z     {
2026-06-17T06:47:31.9668727Z       "id": "REQ-INSTALL-10",
2026-06-17T06:47:31.9672735Z       "title": "Windows at-logon autostart runs the daemon in the background with no persistent window: the scheduled task launches `spt daemon start` (which spawn_detaches a console-less DETACHED_PROCESS daemon and exits) rather than the foreground `spt daemon run` — Task Scheduler's interactive ONLOGON launch of a long-lived console process otherwise leaves a visible console window for the daemon's whole lifetime (v0.7.4)",
2026-06-17T06:47:31.9673019Z       "requiredStages": [
2026-06-17T06:47:31.9673375Z         "impl",
2026-06-17T06:47:31.9673637Z         "unit"
2026-06-17T06:47:31.9673889Z       ],
2026-06-17T06:47:31.9674151Z       "stages": {
2026-06-17T06:47:31.9674399Z         "doc": {
2026-06-17T06:47:31.9674700Z           "complete": false,
2026-06-17T06:47:31.9675001Z           "evidence": []
2026-06-17T06:47:31.9675278Z         },
2026-06-17T06:47:31.9675567Z         "impl": {
2026-06-17T06:47:31.9675884Z           "complete": true,
2026-06-17T06:47:31.9676165Z           "evidence": [
2026-06-17T06:47:31.9676451Z             {
2026-06-17T06:47:31.9676794Z               "path": "installer/install.ps1",
2026-06-17T06:47:31.9677090Z               "line": 191
2026-06-17T06:47:31.9677361Z             }
2026-06-17T06:47:31.9677638Z           ]
2026-06-17T06:47:31.9677920Z         },
2026-06-17T06:47:31.9678202Z         "int": {
2026-06-17T06:47:31.9678501Z           "complete": false,
2026-06-17T06:47:31.9678797Z           "evidence": []
2026-06-17T06:47:31.9679145Z         },
2026-06-17T06:47:31.9679441Z         "unit": {
2026-06-17T06:47:31.9679746Z           "complete": true,
2026-06-17T06:47:31.9680032Z           "evidence": [
2026-06-17T06:47:31.9680312Z             {
2026-06-17T06:47:31.9680712Z               "path": "crates/spt/tests/oneliner_e2e.rs",
2026-06-17T06:47:31.9680991Z               "line": 211
2026-06-17T06:47:31.9681272Z             }
2026-06-17T06:47:31.9681549Z           ]
2026-06-17T06:47:31.9681830Z         }
2026-06-17T06:47:31.9682088Z       }
2026-06-17T06:47:31.9682341Z     },
2026-06-17T06:47:31.9682599Z     {
2026-06-17T06:47:31.9682885Z       "id": "REQ-INSTALL-11",
2026-06-17T06:47:31.9688003Z       "title": "Adapter command templates resolve their program against the adapter's install dir BEFORE PATH: a `.spt`-shipped binary (dropped to adapters/_github/<safe>/ by --release/--github acquisition, or kept in the source_dir under copy-mode where only manifest+strings/ are copied to adapters/<name>) runs without any PATH placement — a bare-name template token (e.g. `claude-spt-digest ...`) is rewritten to <install_dir>/<program>(.exe on Windows) when that file exists, else left bare for the PATH fallback. Makes a `.spt` self-contained (closes the --release bundled-binary gap perri confirmed) (v0.7.4)",
2026-06-17T06:47:31.9688299Z       "requiredStages": [
2026-06-17T06:47:31.9688556Z         "doc",
2026-06-17T06:47:31.9688818Z         "impl",
2026-06-17T06:47:31.9689152Z         "unit"
2026-06-17T06:47:31.9689409Z       ],
2026-06-17T06:47:31.9689672Z       "stages": {
2026-06-17T06:47:31.9689938Z         "doc": {
2026-06-17T06:47:31.9690219Z           "complete": true,
2026-06-17T06:47:31.9690486Z           "evidence": [
2026-06-17T06:47:31.9690743Z             {
2026-06-17T06:47:31.9691034Z               "path": "CONTEXT.md",
2026-06-17T06:47:31.9691310Z               "line": 138
2026-06-17T06:47:31.9691575Z             },
2026-06-17T06:47:31.9691827Z             {
2026-06-17T06:47:31.9692127Z               "path": "docs/MANIFEST.md",
2026-06-17T06:47:31.9692399Z               "line": 63
2026-06-17T06:47:31.9692653Z             }
2026-06-17T06:47:31.9692906Z           ]
2026-06-17T06:47:31.9693164Z         },
2026-06-17T06:47:31.9693420Z         "impl": {
2026-06-17T06:47:31.9693697Z           "complete": true,
2026-06-17T06:47:31.9693973Z           "evidence": [
2026-06-17T06:47:31.9694224Z             {
2026-06-17T06:47:31.9694595Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-17T06:47:31.9694867Z               "line": 223
2026-06-17T06:47:31.9695234Z             },
2026-06-17T06:47:31.9695491Z             {
2026-06-17T06:47:31.9695863Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-17T06:47:31.9696131Z               "line": 98
2026-06-17T06:47:31.9696389Z             },
2026-06-17T06:47:31.9696643Z             {
2026-06-17T06:47:31.9697019Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-17T06:47:31.9697290Z               "line": 116
2026-06-17T06:47:31.9697537Z             },
2026-06-17T06:47:31.9697890Z             {
2026-06-17T06:47:31.9698258Z               "path": "crates/spt-daemon/src/livehost.rs",
2026-06-17T06:47:31.9698520Z               "line": 295
2026-06-17T06:47:31.9698778Z             },
2026-06-17T06:47:31.9699112Z             {
2026-06-17T06:47:31.9699459Z               "path": "crates/spt-live/src/digest.rs",
2026-06-17T06:47:31.9699731Z               "line": 88
2026-06-17T06:47:31.9699983Z             },
2026-06-17T06:47:31.9700232Z             {
2026-06-17T06:47:31.9700566Z               "path": "crates/spt-live/src/digest.rs",
2026-06-17T06:47:31.9700852Z               "line": 104
2026-06-17T06:47:31.9701104Z             },
2026-06-17T06:47:31.9701352Z             {
2026-06-17T06:47:31.9701718Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-17T06:47:31.9701992Z               "line": 272
2026-06-17T06:47:31.9702255Z             },
2026-06-17T06:47:31.9702512Z             {
2026-06-17T06:47:31.9702884Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-17T06:47:31.9703156Z               "line": 307
2026-06-17T06:47:31.9703414Z             },
2026-06-17T06:47:31.9703656Z             {
2026-06-17T06:47:31.9704020Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-17T06:47:31.9704295Z               "line": 481
2026-06-17T06:47:31.9704547Z             },
2026-06-17T06:47:31.9704807Z             {
2026-06-17T06:47:31.9705179Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-17T06:47:31.9705451Z               "line": 504
2026-06-17T06:47:31.9705722Z             },
2026-06-17T06:47:31.9705976Z             {
2026-06-17T06:47:31.9706338Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-17T06:47:31.9706610Z               "line": 519
2026-06-17T06:47:31.9706872Z             },
2026-06-17T06:47:31.9707132Z             {
2026-06-17T06:47:31.9707445Z               "path": "crates/spt/src/api/mod.rs",
2026-06-17T06:47:31.9707717Z               "line": 486
2026-06-17T06:47:31.9707970Z             }
2026-06-17T06:47:31.9708232Z           ]
2026-06-17T06:47:31.9708494Z         },
2026-06-17T06:47:31.9708760Z         "int": {
2026-06-17T06:47:31.9709114Z           "complete": false,
2026-06-17T06:47:31.9709376Z           "evidence": []
2026-06-17T06:47:31.9709629Z         },
2026-06-17T06:47:31.9709882Z         "unit": {
2026-06-17T06:47:31.9710167Z           "complete": true,
2026-06-17T06:47:31.9710434Z           "evidence": [
2026-06-17T06:47:31.9710691Z             {
2026-06-17T06:47:31.9711049Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-17T06:47:31.9711315Z               "line": 757
2026-06-17T06:47:31.9711574Z             },
2026-06-17T06:47:31.9711831Z             {
2026-06-17T06:47:31.9712197Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-17T06:47:31.9712463Z               "line": 769
2026-06-17T06:47:31.9712724Z             },
2026-06-17T06:47:31.9712981Z             {
2026-06-17T06:47:31.9713340Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-17T06:47:31.9713616Z               "line": 778
2026-06-17T06:47:31.9713868Z             }
2026-06-17T06:47:31.9714126Z           ]
2026-06-17T06:47:31.9714374Z         }
2026-06-17T06:47:31.9714618Z       }
2026-06-17T06:47:31.9714885Z     },
2026-06-17T06:47:31.9715136Z     {
2026-06-17T06:47:31.9715419Z       "id": "REQ-INSTALL-2",
2026-06-17T06:47:31.9715810Z       "title": "Marketplace-repackaging-friendly install",
2026-06-17T06:47:31.9716101Z       "requiredStages": [
2026-06-17T06:47:31.9716349Z         "doc"
2026-06-17T06:47:31.9716706Z       ],
2026-06-17T06:47:31.9716978Z       "stages": {
2026-06-17T06:47:31.9717222Z         "doc": {
2026-06-17T06:47:31.9717505Z           "complete": true,
2026-06-17T06:47:31.9717774Z           "evidence": [
2026-06-17T06:47:31.9718038Z             {
2026-06-17T06:47:31.9718315Z               "path": "CONTEXT.md",
2026-06-17T06:47:31.9718573Z               "line": 703
2026-06-17T06:47:31.9718830Z             }
2026-06-17T06:47:31.9719169Z           ]
2026-06-17T06:47:31.9719555Z         },
2026-06-17T06:47:31.9719812Z         "impl": {
2026-06-17T06:47:31.9720095Z           "complete": false,
2026-06-17T06:47:31.9720352Z           "evidence": []
2026-06-17T06:47:31.9720617Z         },
2026-06-17T06:47:31.9720884Z         "int": {
2026-06-17T06:47:31.9721161Z           "complete": false,
2026-06-17T06:47:31.9721428Z           "evidence": []
2026-06-17T06:47:31.9721681Z         },
2026-06-17T06:47:31.9721943Z         "unit": {
2026-06-17T06:47:31.9722219Z           "complete": false,
2026-06-17T06:47:31.9722500Z           "evidence": []
2026-06-17T06:47:31.9722762Z         }
2026-06-17T06:47:31.9723014Z       }
2026-06-17T06:47:31.9723270Z     },
2026-06-17T06:47:31.9723512Z     {
2026-06-17T06:47:31.9723803Z       "id": "REQ-INSTALL-3",
2026-06-17T06:47:31.9724229Z       "title": "Idempotent + interactive-optional first run",
2026-06-17T06:47:31.9724510Z       "requiredStages": [
2026-06-17T06:47:31.9724771Z         "impl",
2026-06-17T06:47:31.9725020Z         "int"
2026-06-17T06:47:31.9725286Z       ],
2026-06-17T06:47:31.9725531Z       "stages": {
2026-06-17T06:47:31.9725786Z         "doc": {
2026-06-17T06:47:31.9726074Z           "complete": false,
2026-06-17T06:47:31.9726351Z           "evidence": []
2026-06-17T06:47:31.9726613Z         },
2026-06-17T06:47:31.9726871Z         "impl": {
2026-06-17T06:47:31.9727153Z           "complete": true,
2026-06-17T06:47:31.9727411Z           "evidence": [
2026-06-17T06:47:31.9727672Z             {
2026-06-17T06:47:31.9727992Z               "path": "installer/install.ps1",
2026-06-17T06:47:31.9728285Z               "line": 100
2026-06-17T06:47:31.9728537Z             },
2026-06-17T06:47:31.9728786Z             {
2026-06-17T06:47:31.9729189Z               "path": "installer/install.ps1",
2026-06-17T06:47:31.9729453Z               "line": 111
2026-06-17T06:47:31.9729710Z             },
2026-06-17T06:47:31.9729963Z             {
2026-06-17T06:47:31.9730283Z               "path": "installer/install.sh",
2026-06-17T06:47:31.9730544Z               "line": 79
2026-06-17T06:47:31.9730806Z             }
2026-06-17T06:47:31.9731058Z           ]
2026-06-17T06:47:31.9731312Z         },
2026-06-17T06:47:31.9731578Z         "int": {
2026-06-17T06:47:31.9731854Z           "complete": true,
2026-06-17T06:47:31.9732116Z           "evidence": [
2026-06-17T06:47:31.9732374Z             {
2026-06-17T06:47:31.9732732Z               "path": "crates/spt/tests/oneliner_e2e.rs",
2026-06-17T06:47:31.9733003Z               "line": 167
2026-06-17T06:47:31.9733257Z             }
2026-06-17T06:47:31.9733517Z           ]
2026-06-17T06:47:31.9733772Z         },
2026-06-17T06:47:31.9734034Z         "unit": {
2026-06-17T06:47:31.9734316Z           "complete": false,
2026-06-17T06:47:31.9734584Z           "evidence": []
2026-06-17T06:47:31.9734846Z         }
2026-06-17T06:47:31.9735099Z       }
2026-06-17T06:47:31.9735346Z     },
2026-06-17T06:47:31.9735585Z     {
2026-06-17T06:47:31.9735879Z       "id": "REQ-INSTALL-4",
2026-06-17T06:47:31.9737832Z       "title": "Adapter registration lifecycle: spt adapter add (--github, manifest-first, install-is-first-update) + soft-deregister remove + optional manifest uninstall template; node-local registered-adapter set self-update ripples over",
2026-06-17T06:47:31.9738122Z       "requiredStages": [
2026-06-17T06:47:31.9738380Z         "impl",
2026-06-17T06:47:31.9738634Z         "unit"
2026-06-17T06:47:31.9738899Z       ],
2026-06-17T06:47:31.9739216Z       "stages": {
2026-06-17T06:47:31.9739478Z         "doc": {
2026-06-17T06:47:31.9739778Z           "complete": false,
2026-06-17T06:47:31.9740150Z           "evidence": []
2026-06-17T06:47:31.9740412Z         },
2026-06-17T06:47:31.9740671Z         "impl": {
2026-06-17T06:47:31.9740946Z           "complete": true,
2026-06-17T06:47:31.9741215Z           "evidence": [
2026-06-17T06:47:31.9741467Z             {
2026-06-17T06:47:31.9741876Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-17T06:47:31.9742143Z               "line": 165
2026-06-17T06:47:31.9742400Z             },
2026-06-17T06:47:31.9742739Z             {
2026-06-17T06:47:31.9743116Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-17T06:47:31.9743383Z               "line": 29
2026-06-17T06:47:31.9743644Z             },
2026-06-17T06:47:31.9743901Z             {
2026-06-17T06:47:31.9744270Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-17T06:47:31.9744538Z               "line": 275
2026-06-17T06:47:31.9744791Z             },
2026-06-17T06:47:31.9745049Z             {
2026-06-17T06:47:31.9745416Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-17T06:47:31.9745687Z               "line": 343
2026-06-17T06:47:31.9745945Z             },
2026-06-17T06:47:31.9746201Z             {
2026-06-17T06:47:31.9746575Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-17T06:47:31.9746844Z               "line": 373
2026-06-17T06:47:31.9747100Z             },
2026-06-17T06:47:31.9747343Z             {
2026-06-17T06:47:31.9747715Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-17T06:47:31.9747977Z               "line": 405
2026-06-17T06:47:31.9748221Z             },
2026-06-17T06:47:31.9748482Z             {
2026-06-17T06:47:31.9748822Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.9749194Z               "line": 5101
2026-06-17T06:47:31.9749454Z             }
2026-06-17T06:47:31.9749714Z           ]
2026-06-17T06:47:31.9749976Z         },
2026-06-17T06:47:31.9750239Z         "int": {
2026-06-17T06:47:31.9750520Z           "complete": false,
2026-06-17T06:47:31.9750802Z           "evidence": []
2026-06-17T06:47:31.9751088Z         },
2026-06-17T06:47:31.9751364Z         "unit": {
2026-06-17T06:47:31.9751669Z           "complete": true,
2026-06-17T06:47:31.9751955Z           "evidence": [
2026-06-17T06:47:31.9752236Z             {
2026-06-17T06:47:31.9752660Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-17T06:47:31.9752940Z               "line": 375
2026-06-17T06:47:31.9753222Z             },
2026-06-17T06:47:31.9753522Z             {
2026-06-17T06:47:31.9753890Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-17T06:47:31.9754162Z               "line": 767
2026-06-17T06:47:31.9754414Z             },
2026-06-17T06:47:31.9754680Z             {
2026-06-17T06:47:31.9755042Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-17T06:47:31.9755308Z               "line": 808
2026-06-17T06:47:31.9755561Z             },
2026-06-17T06:47:31.9755812Z             {
2026-06-17T06:47:31.9756185Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-17T06:47:31.9756447Z               "line": 828
2026-06-17T06:47:31.9756715Z             },
2026-06-17T06:47:31.9756957Z             {
2026-06-17T06:47:31.9757272Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.9757547Z               "line": 7665
2026-06-17T06:47:31.9757793Z             }
2026-06-17T06:47:31.9758050Z           ]
2026-06-17T06:47:31.9758308Z         }
2026-06-17T06:47:31.9758566Z       }
2026-06-17T06:47:31.9758824Z     },
2026-06-17T06:47:31.9759158Z     {
2026-06-17T06:47:31.9759434Z       "id": "REQ-INSTALL-5",
2026-06-17T06:47:31.9760942Z       "title": "Non-interactive install path: the canonical one-liner doubles as every adapter's pack-in on-demand install (no second mechanism); sha256-verified fetch; user-PATH registration",
2026-06-17T06:47:31.9761232Z       "requiredStages": [
2026-06-17T06:47:31.9761481Z         "impl",
2026-06-17T06:47:31.9761738Z         "int"
2026-06-17T06:47:31.9762090Z       ],
2026-06-17T06:47:31.9762359Z       "stages": {
2026-06-17T06:47:31.9762621Z         "doc": {
2026-06-17T06:47:31.9762896Z           "complete": false,
2026-06-17T06:47:31.9763172Z           "evidence": []
2026-06-17T06:47:31.9763420Z         },
2026-06-17T06:47:31.9763688Z         "impl": {
2026-06-17T06:47:31.9763959Z           "complete": true,
2026-06-17T06:47:31.9764222Z           "evidence": [
2026-06-17T06:47:31.9764484Z             {
2026-06-17T06:47:31.9764803Z               "path": "installer/install.ps1",
2026-06-17T06:47:31.9765169Z               "line": 5
2026-06-17T06:47:31.9765428Z             },
2026-06-17T06:47:31.9765696Z             {
2026-06-17T06:47:31.9766011Z               "path": "installer/install.sh",
2026-06-17T06:47:31.9766278Z               "line": 6
2026-06-17T06:47:31.9766526Z             }
2026-06-17T06:47:31.9766780Z           ]
2026-06-17T06:47:31.9767041Z         },
2026-06-17T06:47:31.9767298Z         "int": {
2026-06-17T06:47:31.9767565Z           "complete": true,
2026-06-17T06:47:31.9767842Z           "evidence": [
2026-06-17T06:47:31.9768098Z             {
2026-06-17T06:47:31.9768464Z               "path": "crates/spt/tests/oneliner_e2e.rs",
2026-06-17T06:47:31.9768726Z               "line": 22
2026-06-17T06:47:31.9769069Z             }
2026-06-17T06:47:31.9769322Z           ]
2026-06-17T06:47:31.9769584Z         },
2026-06-17T06:47:31.9769841Z         "unit": {
2026-06-17T06:47:31.9770127Z           "complete": false,
2026-06-17T06:47:31.9770399Z           "evidence": []
2026-06-17T06:47:31.9770655Z         }
2026-06-17T06:47:31.9770901Z       }
2026-06-17T06:47:31.9771153Z     },
2026-06-17T06:47:31.9771412Z     {
2026-06-17T06:47:31.9771693Z       "id": "REQ-INSTALL-6",
2026-06-17T06:47:31.9775088Z       "title": "Linux elevation install leg: install.sh symlinks the binary into a sudo-reachable path (/usr/local/bin; graceful print-the-one-liner when unelevated) so sudo spt resolves; first sudo spt detects elevation and prompts ONCE for the default user account — thereafter any elevated daemon launch runs daemon + state under that account, never root (KH 5.7 interplay verified) (M8 decision 8)",
2026-06-17T06:47:31.9775388Z       "requiredStages": [
2026-06-17T06:47:31.9775638Z         "impl",
2026-06-17T06:47:31.9775903Z         "unit"
2026-06-17T06:47:31.9776157Z       ],
2026-06-17T06:47:31.9776410Z       "stages": {
2026-06-17T06:47:31.9776681Z         "doc": {
2026-06-17T06:47:31.9776957Z           "complete": false,
2026-06-17T06:47:31.9777238Z           "evidence": []
2026-06-17T06:47:31.9777486Z         },
2026-06-17T06:47:31.9777748Z         "impl": {
2026-06-17T06:47:31.9778031Z           "complete": true,
2026-06-17T06:47:31.9778303Z           "evidence": [
2026-06-17T06:47:31.9778568Z             {
2026-06-17T06:47:31.9778923Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-17T06:47:31.9779248Z               "line": 61
2026-06-17T06:47:31.9779509Z             },
2026-06-17T06:47:31.9779767Z             {
2026-06-17T06:47:31.9780115Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-17T06:47:31.9780387Z               "line": 596
2026-06-17T06:47:31.9780649Z             },
2026-06-17T06:47:31.9780907Z             {
2026-06-17T06:47:31.9781281Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-17T06:47:31.9781548Z               "line": 191
2026-06-17T06:47:31.9781815Z             },
2026-06-17T06:47:31.9782071Z             {
2026-06-17T06:47:31.9782445Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-17T06:47:31.9782720Z               "line": 276
2026-06-17T06:47:31.9782977Z             },
2026-06-17T06:47:31.9783235Z             {
2026-06-17T06:47:31.9783545Z               "path": "crates/spt/src/main.rs",
2026-06-17T06:47:31.9783817Z               "line": 42
2026-06-17T06:47:31.9784068Z             },
2026-06-17T06:47:31.9784330Z             {
2026-06-17T06:47:31.9784645Z               "path": "installer/install.sh",
2026-06-17T06:47:31.9784907Z               "line": 104
2026-06-17T06:47:31.9785260Z             }
2026-06-17T06:47:31.9785513Z           ]
2026-06-17T06:47:31.9785770Z         },
2026-06-17T06:47:31.9786025Z         "int": {
2026-06-17T06:47:31.9786304Z           "complete": false,
2026-06-17T06:47:31.9786578Z           "evidence": []
2026-06-17T06:47:31.9786830Z         },
2026-06-17T06:47:31.9787079Z         "unit": {
2026-06-17T06:47:31.9787351Z           "complete": true,
2026-06-17T06:47:31.9787618Z           "evidence": [
2026-06-17T06:47:31.9787871Z             {
2026-06-17T06:47:31.9788328Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-17T06:47:31.9788587Z               "line": 866
2026-06-17T06:47:31.9788844Z             }
2026-06-17T06:47:31.9789185Z           ]
2026-06-17T06:47:31.9789440Z         }
2026-06-17T06:47:31.9789693Z       }
2026-06-17T06:47:31.9789932Z     },
2026-06-17T06:47:31.9790180Z     {
2026-06-17T06:47:31.9790467Z       "id": "REQ-INSTALL-7",
2026-06-17T06:47:31.9793624Z       "title": "Windows inbound reachability: the elevated install leg registers the inbound-UDP firewall rule (New-NetFirewallRule); the daemon self-detects blocked inbound and renders it as the no-connection state in subnet status + the coming-online banner (covers user-scope installs that skip the elevated leg — never a silent NO_SEED_HOLDER dead-end) (M8 root cause 3)",
2026-06-17T06:47:31.9793920Z       "requiredStages": [
2026-06-17T06:47:31.9794172Z         "impl"
2026-06-17T06:47:31.9794438Z       ],
2026-06-17T06:47:31.9794701Z       "stages": {
2026-06-17T06:47:31.9794963Z         "doc": {
2026-06-17T06:47:31.9795245Z           "complete": false,
2026-06-17T06:47:31.9795516Z           "evidence": []
2026-06-17T06:47:31.9795773Z         },
2026-06-17T06:47:31.9796035Z         "impl": {
2026-06-17T06:47:31.9796317Z           "complete": true,
2026-06-17T06:47:31.9796594Z           "evidence": [
2026-06-17T06:47:31.9796845Z             {
2026-06-17T06:47:31.9797162Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.9797433Z               "line": 3644
2026-06-17T06:47:31.9797700Z             },
2026-06-17T06:47:31.9797959Z             {
2026-06-17T06:47:31.9798278Z               "path": "installer/install.ps1",
2026-06-17T06:47:31.9798545Z               "line": 157
2026-06-17T06:47:31.9798808Z             }
2026-06-17T06:47:31.9799147Z           ]
2026-06-17T06:47:31.9799409Z         },
2026-06-17T06:47:31.9799659Z         "int": {
2026-06-17T06:47:31.9799933Z           "complete": false,
2026-06-17T06:47:31.9800205Z           "evidence": []
2026-06-17T06:47:31.9800463Z         },
2026-06-17T06:47:31.9800717Z         "unit": {
2026-06-17T06:47:31.9800988Z           "complete": false,
2026-06-17T06:47:31.9801250Z           "evidence": []
2026-06-17T06:47:31.9805885Z         }
2026-06-17T06:47:31.9806200Z       }
2026-06-17T06:47:31.9806472Z     },
2026-06-17T06:47:31.9806739Z     {
2026-06-17T06:47:31.9807025Z       "id": "REQ-INSTALL-8",
2026-06-17T06:47:31.9810479Z       "title": "OS-service registration (REQ-INSTALL-1's deferred third leg): Linux systemd USER service + loginctl enable-linger (linger rides the elevated install leg; daemon starts at boot pre-login, user universe per KH 5.7, systemctl --user managed); Windows scheduled task at-logon (interactive session, no stored credentials); a node is reachable after reboot without any manual spt invocation (M8 decision 17)",
2026-06-17T06:47:31.9810780Z       "requiredStages": [
2026-06-17T06:47:31.9811038Z         "impl"
2026-06-17T06:47:31.9811296Z       ],
2026-06-17T06:47:31.9811562Z       "stages": {
2026-06-17T06:47:31.9811833Z         "doc": {
2026-06-17T06:47:31.9812120Z           "complete": false,
2026-06-17T06:47:31.9812387Z           "evidence": []
2026-06-17T06:47:31.9812635Z         },
2026-06-17T06:47:31.9812896Z         "impl": {
2026-06-17T06:47:31.9813175Z           "complete": true,
2026-06-17T06:47:31.9813437Z           "evidence": [
2026-06-17T06:47:31.9813699Z             {
2026-06-17T06:47:31.9814019Z               "path": "installer/install.ps1",
2026-06-17T06:47:31.9814434Z               "line": 184
2026-06-17T06:47:31.9814691Z             },
2026-06-17T06:47:31.9814939Z             {
2026-06-17T06:47:31.9815249Z               "path": "installer/install.sh",
2026-06-17T06:47:31.9815516Z               "line": 121
2026-06-17T06:47:31.9815773Z             }
2026-06-17T06:47:31.9816030Z           ]
2026-06-17T06:47:31.9816282Z         },
2026-06-17T06:47:31.9816540Z         "int": {
2026-06-17T06:47:31.9816822Z           "complete": false,
2026-06-17T06:47:31.9817218Z           "evidence": []
2026-06-17T06:47:31.9817475Z         },
2026-06-17T06:47:31.9817728Z         "unit": {
2026-06-17T06:47:31.9818003Z           "complete": false,
2026-06-17T06:47:31.9818268Z           "evidence": []
2026-06-17T06:47:31.9818515Z         }
2026-06-17T06:47:31.9818774Z       }
2026-06-17T06:47:31.9819097Z     },
2026-06-17T06:47:31.9819351Z     {
2026-06-17T06:47:31.9819637Z       "id": "REQ-INSTALL-9",
2026-06-17T06:47:31.9823096Z       "title": "Adapter add from a GitHub release archive: `spt adapter add --release <user/repo> [--tag <tag>] [--asset <name>]` fetches a `.spt` tar asset over HTTPS+GitHub trust, extracts it to the durable adapters/_github home, and registers the root — ships built binaries source-free and versioned (the distribution path for an adapter whose dev repo is a monorepo subdir, where --github root-only clone does not fit)",
2026-06-17T06:47:31.9823399Z       "requiredStages": [
2026-06-17T06:47:31.9823663Z         "doc",
2026-06-17T06:47:31.9823921Z         "impl",
2026-06-17T06:47:31.9824184Z         "unit"
2026-06-17T06:47:31.9824436Z       ],
2026-06-17T06:47:31.9824723Z       "stages": {
2026-06-17T06:47:31.9824980Z         "doc": {
2026-06-17T06:47:31.9825261Z           "complete": true,
2026-06-17T06:47:31.9825532Z           "evidence": [
2026-06-17T06:47:31.9825785Z             {
2026-06-17T06:47:31.9826071Z               "path": "CONTEXT.md",
2026-06-17T06:47:31.9826338Z               "line": 719
2026-06-17T06:47:31.9826605Z             }
2026-06-17T06:47:31.9826857Z           ]
2026-06-17T06:47:31.9827110Z         },
2026-06-17T06:47:31.9827372Z         "impl": {
2026-06-17T06:47:31.9827645Z           "complete": true,
2026-06-17T06:47:31.9827917Z           "evidence": [
2026-06-17T06:47:31.9828174Z             {
2026-06-17T06:47:31.9828496Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.9828756Z               "line": 2334
2026-06-17T06:47:31.9829080Z             },
2026-06-17T06:47:31.9829343Z             {
2026-06-17T06:47:31.9829657Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.9829925Z               "line": 2358
2026-06-17T06:47:31.9830178Z             }
2026-06-17T06:47:31.9830446Z           ]
2026-06-17T06:47:31.9830702Z         },
2026-06-17T06:47:31.9830960Z         "int": {
2026-06-17T06:47:31.9831236Z           "complete": false,
2026-06-17T06:47:31.9831506Z           "evidence": []
2026-06-17T06:47:31.9831762Z         },
2026-06-17T06:47:31.9832005Z         "unit": {
2026-06-17T06:47:31.9832286Z           "complete": true,
2026-06-17T06:47:31.9832558Z           "evidence": [
2026-06-17T06:47:31.9832815Z             {
2026-06-17T06:47:31.9833135Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.9833413Z               "line": 6922
2026-06-17T06:47:31.9833670Z             },
2026-06-17T06:47:31.9833925Z             {
2026-06-17T06:47:31.9834247Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.9834519Z               "line": 7695
2026-06-17T06:47:31.9834777Z             }
2026-06-17T06:47:31.9835039Z           ]
2026-06-17T06:47:31.9835293Z         }
2026-06-17T06:47:31.9835550Z       }
2026-06-17T06:47:31.9835807Z     },
2026-06-17T06:47:31.9836060Z     {
2026-06-17T06:47:31.9836322Z       "id": "REQ-KICK-1",
2026-06-17T06:47:31.9843471Z       "title": "Explicit, loud controller displacement: `spt rc kick <target>` / `--take` (Take intent) kicks the incumbent controller and becomes controller; the displaced controller receives a LOUD `Displaced{by}` notice and is FULLY DETACHED (not demoted to a viewer). A default attach to a controlled endpoint is NEVER a silent displace (it is the Control busy-refusal). An old (N-1) rc omits intent → Control, so it can drive a free endpoint but CANNOT `--take` — it can never silently steal, and gets a clean busy-refusal instead. Taking control rides the same access_check(endpoint, origin, Unsolicited) as a normal control attach (if you may drive, you may take — no elevated kick policy). The picker surfaces 'Kick <node> and attach' (Take) only on a controlled (blue ■) endpoint, via the existing attach dispatch (single-bringup-path: intent is a parameter).",
2026-06-17T06:47:31.9843968Z       "requiredStages": [
2026-06-17T06:47:31.9844221Z         "doc",
2026-06-17T06:47:31.9844480Z         "impl",
2026-06-17T06:47:31.9844740Z         "unit",
2026-06-17T06:47:31.9844990Z         "int"
2026-06-17T06:47:31.9845247Z       ],
2026-06-17T06:47:31.9845500Z       "stages": {
2026-06-17T06:47:31.9845761Z         "doc": {
2026-06-17T06:47:31.9846042Z           "complete": true,
2026-06-17T06:47:31.9846324Z           "evidence": [
2026-06-17T06:47:31.9846576Z             {
2026-06-17T06:47:31.9846863Z               "path": "CONTEXT.md",
2026-06-17T06:47:31.9847141Z               "line": 330
2026-06-17T06:47:31.9847391Z             }
2026-06-17T06:47:31.9847644Z           ]
2026-06-17T06:47:31.9847910Z         },
2026-06-17T06:47:31.9848164Z         "impl": {
2026-06-17T06:47:31.9848445Z           "complete": true,
2026-06-17T06:47:31.9848708Z           "evidence": [
2026-06-17T06:47:31.9849037Z             {
2026-06-17T06:47:31.9849399Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-17T06:47:31.9849665Z               "line": 41
2026-06-17T06:47:31.9849924Z             },
2026-06-17T06:47:31.9850172Z             {
2026-06-17T06:47:31.9850477Z               "path": "crates/spt/src/rc.rs",
2026-06-17T06:47:31.9850745Z               "line": 181
2026-06-17T06:47:31.9850997Z             }
2026-06-17T06:47:31.9851256Z           ]
2026-06-17T06:47:31.9851522Z         },
2026-06-17T06:47:31.9851779Z         "int": {
2026-06-17T06:47:31.9852051Z           "complete": true,
2026-06-17T06:47:31.9852318Z           "evidence": [
2026-06-17T06:47:31.9852570Z             {
2026-06-17T06:47:31.9852945Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-17T06:47:31.9853212Z               "line": 789
2026-06-17T06:47:31.9853474Z             }
2026-06-17T06:47:31.9853730Z           ]
2026-06-17T06:47:31.9853988Z         },
2026-06-17T06:47:31.9854260Z         "unit": {
2026-06-17T06:47:31.9854542Z           "complete": true,
2026-06-17T06:47:31.9854819Z           "evidence": [
2026-06-17T06:47:31.9855074Z             {
2026-06-17T06:47:31.9855435Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-17T06:47:31.9855706Z               "line": 205
2026-06-17T06:47:31.9855968Z             }
2026-06-17T06:47:31.9856226Z           ]
2026-06-17T06:47:31.9856470Z         }
2026-06-17T06:47:31.9856723Z       }
2026-06-17T06:47:31.9856975Z     },
2026-06-17T06:47:31.9857237Z     {
2026-06-17T06:47:31.9857524Z       "id": "REQ-MANIFEST-1",
2026-06-17T06:47:31.9858086Z       "title": "Per-adapter manifest with adapter_name and min_spt_core_version",
2026-06-17T06:47:31.9858371Z       "requiredStages": [
2026-06-17T06:47:31.9858624Z         "doc",
2026-06-17T06:47:31.9858891Z         "impl",
2026-06-17T06:47:31.9859181Z         "unit"
2026-06-17T06:47:31.9859439Z       ],
2026-06-17T06:47:31.9859696Z       "stages": {
2026-06-17T06:47:31.9859950Z         "doc": {
2026-06-17T06:47:31.9860234Z           "complete": true,
2026-06-17T06:47:31.9860504Z           "evidence": [
2026-06-17T06:47:31.9860761Z             {
2026-06-17T06:47:31.9861061Z               "path": "docs/MANIFEST.md",
2026-06-17T06:47:31.9861324Z               "line": 19
2026-06-17T06:47:31.9861577Z             }
2026-06-17T06:47:31.9861835Z           ]
2026-06-17T06:47:31.9862087Z         },
2026-06-17T06:47:31.9862339Z         "impl": {
2026-06-17T06:47:31.9862611Z           "complete": true,
2026-06-17T06:47:31.9862996Z           "evidence": [
2026-06-17T06:47:31.9863256Z             {
2026-06-17T06:47:31.9863623Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T06:47:31.9863890Z               "line": 18
2026-06-17T06:47:31.9864153Z             }
2026-06-17T06:47:31.9864402Z           ]
2026-06-17T06:47:31.9864654Z         },
2026-06-17T06:47:31.9864911Z         "int": {
2026-06-17T06:47:31.9865187Z           "complete": false,
2026-06-17T06:47:31.9865464Z           "evidence": []
2026-06-17T06:47:31.9865828Z         },
2026-06-17T06:47:31.9866086Z         "unit": {
2026-06-17T06:47:31.9866368Z           "complete": true,
2026-06-17T06:47:31.9866639Z           "evidence": [
2026-06-17T06:47:31.9866896Z             {
2026-06-17T06:47:31.9867273Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T06:47:31.9867550Z               "line": 959
2026-06-17T06:47:31.9867806Z             },
2026-06-17T06:47:31.9868069Z             {
2026-06-17T06:47:31.9868435Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T06:47:31.9868707Z               "line": 1111
2026-06-17T06:47:31.9869040Z             },
2026-06-17T06:47:31.9869299Z             {
2026-06-17T06:47:31.9869666Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T06:47:31.9869932Z               "line": 1123
2026-06-17T06:47:31.9870195Z             },
2026-06-17T06:47:31.9870444Z             {
2026-06-17T06:47:31.9870813Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T06:47:31.9871088Z               "line": 1134
2026-06-17T06:47:31.9871340Z             },
2026-06-17T06:47:31.9871593Z             {
2026-06-17T06:47:31.9871955Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T06:47:31.9872236Z               "line": 1151
2026-06-17T06:47:31.9872494Z             },
2026-06-17T06:47:31.9872757Z             {
2026-06-17T06:47:31.9873123Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T06:47:31.9873397Z               "line": 1165
2026-06-17T06:47:31.9873737Z             },
2026-06-17T06:47:31.9874094Z             {
2026-06-17T06:47:31.9874484Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T06:47:31.9874751Z               "line": 1281
2026-06-17T06:47:31.9875009Z             },
2026-06-17T06:47:31.9875263Z             {
2026-06-17T06:47:31.9875639Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T06:47:31.9875916Z               "line": 1296
2026-06-17T06:47:31.9876176Z             },
2026-06-17T06:47:31.9876430Z             {
2026-06-17T06:47:31.9876798Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T06:47:31.9877074Z               "line": 1407
2026-06-17T06:47:31.9877337Z             },
2026-06-17T06:47:31.9877599Z             {
2026-06-17T06:47:31.9877966Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T06:47:31.9878238Z               "line": 1418
2026-06-17T06:47:31.9878497Z             }
2026-06-17T06:47:31.9878754Z           ]
2026-06-17T06:47:31.9879091Z         }
2026-06-17T06:47:31.9879338Z       }
2026-06-17T06:47:31.9879582Z     },
2026-06-17T06:47:31.9879844Z     {
2026-06-17T06:47:31.9880116Z       "id": "REQ-MANIFEST-2",
2026-06-17T06:47:31.9881533Z       "title": "Adapter profiles — sparse leaf-replace overlays (shipped + local), composite <adapter>:<profile> addressing, shadow-refusal, tighten-only consent floors",
2026-06-17T06:47:31.9881824Z       "requiredStages": [
2026-06-17T06:47:31.9882097Z         "doc",
2026-06-17T06:47:31.9882373Z         "impl",
2026-06-17T06:47:31.9882655Z         "unit"
2026-06-17T06:47:31.9882917Z       ],
2026-06-17T06:47:31.9883169Z       "stages": {
2026-06-17T06:47:31.9883436Z         "doc": {
2026-06-17T06:47:31.9883716Z           "complete": true,
2026-06-17T06:47:31.9883980Z           "evidence": [
2026-06-17T06:47:31.9884231Z             {
2026-06-17T06:47:31.9884524Z               "path": "CONTEXT.md",
2026-06-17T06:47:31.9884791Z               "line": 75
2026-06-17T06:47:31.9885159Z             }
2026-06-17T06:47:31.9885421Z           ]
2026-06-17T06:47:31.9885673Z         },
2026-06-17T06:47:31.9885931Z         "impl": {
2026-06-17T06:47:31.9886213Z           "complete": true,
2026-06-17T06:47:31.9886486Z           "evidence": [
2026-06-17T06:47:31.9886750Z             {
2026-06-17T06:47:31.9887120Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T06:47:31.9887392Z               "line": 62
2026-06-17T06:47:31.9887644Z             },
2026-06-17T06:47:31.9887997Z             {
2026-06-17T06:47:31.9888370Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-17T06:47:31.9888636Z               "line": 15
2026-06-17T06:47:31.9888898Z             },
2026-06-17T06:47:31.9889228Z             {
2026-06-17T06:47:31.9889598Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-17T06:47:31.9889860Z               "line": 65
2026-06-17T06:47:31.9890123Z             },
2026-06-17T06:47:31.9890386Z             {
2026-06-17T06:47:31.9890743Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-17T06:47:31.9891020Z               "line": 83
2026-06-17T06:47:31.9891278Z             },
2026-06-17T06:47:31.9891535Z             {
2026-06-17T06:47:31.9891896Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-17T06:47:31.9892169Z               "line": 183
2026-06-17T06:47:31.9892422Z             },
2026-06-17T06:47:31.9892675Z             {
2026-06-17T06:47:31.9893052Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-17T06:47:31.9893319Z               "line": 486
2026-06-17T06:47:31.9893581Z             },
2026-06-17T06:47:31.9893830Z             {
2026-06-17T06:47:31.9894197Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-17T06:47:31.9894469Z               "line": 512
2026-06-17T06:47:31.9894719Z             },
2026-06-17T06:47:31.9894970Z             {
2026-06-17T06:47:31.9895332Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-17T06:47:31.9895604Z               "line": 630
2026-06-17T06:47:31.9895863Z             },
2026-06-17T06:47:31.9896125Z             {
2026-06-17T06:47:31.9896491Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-17T06:47:31.9896750Z               "line": 655
2026-06-17T06:47:31.9897012Z             },
2026-06-17T06:47:31.9897262Z             {
2026-06-17T06:47:31.9897623Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-17T06:47:31.9897899Z               "line": 678
2026-06-17T06:47:31.9898147Z             },
2026-06-17T06:47:31.9898410Z             {
2026-06-17T06:47:31.9898777Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-17T06:47:31.9899110Z               "line": 693
2026-06-17T06:47:31.9899368Z             },
2026-06-17T06:47:31.9899622Z             {
2026-06-17T06:47:31.9899932Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.9900206Z               "line": 5266
2026-06-17T06:47:31.9900482Z             },
2026-06-17T06:47:31.9900759Z             {
2026-06-17T06:47:31.9901097Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.9901364Z               "line": 5280
2026-06-17T06:47:31.9901613Z             },
2026-06-17T06:47:31.9901875Z             {
2026-06-17T06:47:31.9902176Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.9902456Z               "line": 5314
2026-06-17T06:47:31.9902710Z             }
2026-06-17T06:47:31.9902973Z           ]
2026-06-17T06:47:31.9903231Z         },
2026-06-17T06:47:31.9903493Z         "int": {
2026-06-17T06:47:31.9903784Z           "complete": false,
2026-06-17T06:47:31.9904047Z           "evidence": []
2026-06-17T06:47:31.9904318Z         },
2026-06-17T06:47:31.9904580Z         "unit": {
2026-06-17T06:47:31.9904851Z           "complete": true,
2026-06-17T06:47:31.9905105Z           "evidence": [
2026-06-17T06:47:31.9905361Z             {
2026-06-17T06:47:31.9905731Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-17T06:47:31.9905994Z               "line": 921
2026-06-17T06:47:31.9906389Z             },
2026-06-17T06:47:31.9906637Z             {
2026-06-17T06:47:31.9907000Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-17T06:47:31.9907267Z               "line": 211
2026-06-17T06:47:31.9907539Z             },
2026-06-17T06:47:31.9907794Z             {
2026-06-17T06:47:31.9908158Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-17T06:47:31.9908426Z               "line": 272
2026-06-17T06:47:31.9908679Z             },
2026-06-17T06:47:31.9909112Z             {
2026-06-17T06:47:31.9909500Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-17T06:47:31.9909791Z               "line": 313
2026-06-17T06:47:31.9910047Z             },
2026-06-17T06:47:31.9910305Z             {
2026-06-17T06:47:31.9910666Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-17T06:47:31.9910928Z               "line": 325
2026-06-17T06:47:31.9911186Z             },
2026-06-17T06:47:31.9911435Z             {
2026-06-17T06:47:31.9911801Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-17T06:47:31.9912069Z               "line": 336
2026-06-17T06:47:31.9912316Z             },
2026-06-17T06:47:31.9912573Z             {
2026-06-17T06:47:31.9912930Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-17T06:47:31.9913209Z               "line": 345
2026-06-17T06:47:31.9913466Z             },
2026-06-17T06:47:31.9913734Z             {
2026-06-17T06:47:31.9914101Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-17T06:47:31.9914373Z               "line": 361
2026-06-17T06:47:31.9914640Z             },
2026-06-17T06:47:31.9914893Z             {
2026-06-17T06:47:31.9915256Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-17T06:47:31.9915523Z               "line": 444
2026-06-17T06:47:31.9915773Z             },
2026-06-17T06:47:31.9916024Z             {
2026-06-17T06:47:31.9916391Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-17T06:47:31.9916673Z               "line": 881
2026-06-17T06:47:31.9916930Z             },
2026-06-17T06:47:31.9917183Z             {
2026-06-17T06:47:31.9917550Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-17T06:47:31.9917846Z               "line": 905
2026-06-17T06:47:31.9918133Z             },
2026-06-17T06:47:31.9918406Z             {
2026-06-17T06:47:31.9918800Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-17T06:47:31.9919149Z               "line": 931
2026-06-17T06:47:31.9919435Z             },
2026-06-17T06:47:31.9919721Z             {
2026-06-17T06:47:31.9920112Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-17T06:47:31.9920408Z               "line": 950
2026-06-17T06:47:31.9920694Z             },
2026-06-17T06:47:31.9920981Z             {
2026-06-17T06:47:31.9921365Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-17T06:47:31.9921660Z               "line": 981
2026-06-17T06:47:31.9921942Z             },
2026-06-17T06:47:31.9922223Z             {
2026-06-17T06:47:31.9922615Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-17T06:47:31.9922906Z               "line": 309
2026-06-17T06:47:31.9923191Z             },
2026-06-17T06:47:31.9923466Z             {
2026-06-17T06:47:31.9923821Z               "path": "crates/spt/src/api/mod.rs",
2026-06-17T06:47:31.9924122Z               "line": 580
2026-06-17T06:47:31.9924365Z             },
2026-06-17T06:47:31.9924623Z             {
2026-06-17T06:47:31.9924933Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.9925215Z               "line": 7872
2026-06-17T06:47:31.9925467Z             },
2026-06-17T06:47:31.9925724Z             {
2026-06-17T06:47:31.9926058Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.9926338Z               "line": 8782
2026-06-17T06:47:31.9926622Z             }
2026-06-17T06:47:31.9926904Z           ]
2026-06-17T06:47:31.9927190Z         }
2026-06-17T06:47:31.9927471Z       }
2026-06-17T06:47:31.9927753Z     },
2026-06-17T06:47:31.9928029Z     {
2026-06-17T06:47:31.9928449Z       "id": "REQ-MANIFEST-3",
2026-06-17T06:47:31.9930310Z       "title": "Adapter strings — [strings] KV tree, dot-path get-string resolving through the profile leaf-replace overlay, set-string editing a local profile's [strings] only; data-only (nothing executes a string)",
2026-06-17T06:47:31.9930596Z       "requiredStages": [
2026-06-17T06:47:31.9930858Z         "doc",
2026-06-17T06:47:31.9931139Z         "impl",
2026-06-17T06:47:31.9931386Z         "unit"
2026-06-17T06:47:31.9931738Z       ],
2026-06-17T06:47:31.9932002Z       "stages": {
2026-06-17T06:47:31.9932264Z         "doc": {
2026-06-17T06:47:31.9932536Z           "complete": true,
2026-06-17T06:47:31.9932802Z           "evidence": [
2026-06-17T06:47:31.9933064Z             {
2026-06-17T06:47:31.9933346Z               "path": "CONTEXT.md",
2026-06-17T06:47:31.9933612Z               "line": 81
2026-06-17T06:47:31.9933871Z             }
2026-06-17T06:47:31.9934136Z           ]
2026-06-17T06:47:31.9934390Z         },
2026-06-17T06:47:31.9934668Z         "impl": {
2026-06-17T06:47:31.9934935Z           "complete": true,
2026-06-17T06:47:31.9935231Z           "evidence": [
2026-06-17T06:47:31.9935488Z             {
2026-06-17T06:47:31.9935865Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T06:47:31.9936127Z               "line": 72
2026-06-17T06:47:31.9936391Z             },
2026-06-17T06:47:31.9936648Z             {
2026-06-17T06:47:31.9937018Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-17T06:47:31.9937292Z               "line": 101
2026-06-17T06:47:31.9937544Z             },
2026-06-17T06:47:31.9937793Z             {
2026-06-17T06:47:31.9938164Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-17T06:47:31.9938422Z               "line": 132
2026-06-17T06:47:31.9938685Z             },
2026-06-17T06:47:31.9939014Z             {
2026-06-17T06:47:31.9939399Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-17T06:47:31.9939678Z               "line": 536
2026-06-17T06:47:31.9939935Z             },
2026-06-17T06:47:31.9940187Z             {
2026-06-17T06:47:31.9940560Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-17T06:47:31.9940827Z               "line": 592
2026-06-17T06:47:31.9941074Z             },
2026-06-17T06:47:31.9941318Z             {
2026-06-17T06:47:31.9941637Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.9941909Z               "line": 5327
2026-06-17T06:47:31.9942163Z             },
2026-06-17T06:47:31.9942423Z             {
2026-06-17T06:47:31.9942742Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.9943014Z               "line": 5353
2026-06-17T06:47:31.9943262Z             }
2026-06-17T06:47:31.9943515Z           ]
2026-06-17T06:47:31.9943754Z         },
2026-06-17T06:47:31.9944021Z         "int": {
2026-06-17T06:47:31.9944307Z           "complete": false,
2026-06-17T06:47:31.9944577Z           "evidence": []
2026-06-17T06:47:31.9944833Z         },
2026-06-17T06:47:31.9945085Z         "unit": {
2026-06-17T06:47:31.9945362Z           "complete": true,
2026-06-17T06:47:31.9945629Z           "evidence": [
2026-06-17T06:47:31.9945886Z             {
2026-06-17T06:47:31.9946243Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-17T06:47:31.9946515Z               "line": 371
2026-06-17T06:47:31.9946782Z             },
2026-06-17T06:47:31.9947040Z             {
2026-06-17T06:47:31.9947397Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-17T06:47:31.9947667Z               "line": 429
2026-06-17T06:47:31.9947933Z             },
2026-06-17T06:47:31.9948191Z             {
2026-06-17T06:47:31.9948549Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-17T06:47:31.9948820Z               "line": 1005
2026-06-17T06:47:31.9949149Z             },
2026-06-17T06:47:31.9949406Z             {
2026-06-17T06:47:31.9949721Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:31.9950002Z               "line": 7927
2026-06-17T06:47:31.9950252Z             }
2026-06-17T06:47:31.9950614Z           ]
2026-06-17T06:47:31.9950867Z         }
2026-06-17T06:47:31.9951106Z       }
2026-06-17T06:47:31.9951358Z     },
2026-06-17T06:47:31.9951610Z     {
2026-06-17T06:47:31.9951892Z       "id": "REQ-MANIFEST-4",
2026-06-17T06:47:31.9953864Z       "title": "Keyword hints — [[hints]] {keywords (literal/regex), text}; spt api hint --session emits at most one matched hint per message, once per session (seen-set), declaration-order first match; profiles overlay [[hints]] by leaf-replace",
2026-06-17T06:47:31.9954271Z       "requiredStages": [
2026-06-17T06:47:31.9954532Z         "doc",
2026-06-17T06:47:31.9954780Z         "impl",
2026-06-17T06:47:31.9955047Z         "unit"
2026-06-17T06:47:31.9955304Z       ],
2026-06-17T06:47:31.9955560Z       "stages": {
2026-06-17T06:47:31.9955816Z         "doc": {
2026-06-17T06:47:31.9956097Z           "complete": true,
2026-06-17T06:47:31.9956365Z           "evidence": [
2026-06-17T06:47:31.9956618Z             {
2026-06-17T06:47:31.9956910Z               "path": "CONTEXT.md",
2026-06-17T06:47:31.9957191Z               "line": 88
2026-06-17T06:47:31.9957473Z             }
2026-06-17T06:47:31.9957758Z           ]
2026-06-17T06:47:31.9958038Z         },
2026-06-17T06:47:31.9958312Z         "impl": {
2026-06-17T06:47:31.9958612Z           "complete": true,
2026-06-17T06:47:31.9958904Z           "evidence": [
2026-06-17T06:47:31.9959242Z             {
2026-06-17T06:47:31.9959637Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T06:47:31.9959928Z               "line": 80
2026-06-17T06:47:31.9960209Z             },
2026-06-17T06:47:31.9960477Z             {
2026-06-17T06:47:31.9960860Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T06:47:31.9961160Z               "line": 152
2026-06-17T06:47:31.9961442Z             },
2026-06-17T06:47:31.9961723Z             {
2026-06-17T06:47:31.9962085Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T06:47:31.9962376Z               "line": 83
2026-06-17T06:47:31.9962653Z             },
2026-06-17T06:47:31.9962935Z             {
2026-06-17T06:47:31.9963316Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T06:47:31.9963605Z               "line": 625
2026-06-17T06:47:31.9963887Z             },
2026-06-17T06:47:31.9964177Z             {
2026-06-17T06:47:31.9964555Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T06:47:31.9964841Z               "line": 650
2026-06-17T06:47:31.9965117Z             }
2026-06-17T06:47:31.9965407Z           ]
2026-06-17T06:47:31.9965688Z         },
2026-06-17T06:47:31.9965981Z         "int": {
2026-06-17T06:47:31.9966291Z           "complete": false,
2026-06-17T06:47:31.9966587Z           "evidence": []
2026-06-17T06:47:31.9966864Z         },
2026-06-17T06:47:31.9967121Z         "unit": {
2026-06-17T06:47:31.9967393Z           "complete": true,
2026-06-17T06:47:31.9967659Z           "evidence": [
2026-06-17T06:47:31.9967913Z             {
2026-06-17T06:47:31.9968274Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T06:47:31.9968540Z               "line": 1231
2026-06-17T06:47:31.9968797Z             },
2026-06-17T06:47:31.9969116Z             {
2026-06-17T06:47:31.9969487Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T06:47:31.9969759Z               "line": 1264
2026-06-17T06:47:31.9970017Z             },
2026-06-17T06:47:31.9970270Z             {
2026-06-17T06:47:31.9970623Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T06:47:31.9970900Z               "line": 984
2026-06-17T06:47:31.9971150Z             }
2026-06-17T06:47:31.9971420Z           ]
2026-06-17T06:47:31.9971669Z         }
2026-06-17T06:47:31.9971917Z       }
2026-06-17T06:47:31.9972178Z     },
2026-06-17T06:47:31.9972425Z     {
2026-06-17T06:47:31.9972712Z       "id": "REQ-MANIFEST-5",
2026-06-17T06:47:31.9980944Z       "title": "File-backed adapter [strings] (M12-W3-T3.1): a [strings] dot-path value MAY be an inline-table FILE POINTER `key = { file = \"rel/path\" }` resolved to the file's contents at get-string time, keeping large bodies (skill-instructions, hint text) out of the manifest. A value-position table with a `file` key IS the pointer form (reserved — cannot double as data). Per-adapter aux storage `adapters/<adapter>/strings/`; pointers resolve relative to it with CONTAINMENT (reject `..`/absolute escaping the dir). UPDATE-SAFETY: a LOCAL profile's file-pointers resolve relative to the user-owned local-profile dir (NOT adapter-shipped strings/, which adapter updates overwrite), or the local profile inlines. Validate-at-register (fail-fast on a bad/escaping/missing pointer) + LAZY read at get-string (live file edits reflect, no re-register) + skip-diagnostics on missing-at-read (no hard-crash, mirrors [digest]). Rides the same leaf-replace profile overlay as the rest of [strings].",
2026-06-17T06:47:31.9981450Z       "requiredStages": [
2026-06-17T06:47:31.9981711Z         "doc",
2026-06-17T06:47:31.9981970Z         "impl",
2026-06-17T06:47:31.9982248Z         "unit"
2026-06-17T06:47:31.9982496Z       ],
2026-06-17T06:47:31.9982758Z       "stages": {
2026-06-17T06:47:31.9983014Z         "doc": {
2026-06-17T06:47:31.9983281Z           "complete": true,
2026-06-17T06:47:31.9983544Z           "evidence": [
2026-06-17T06:47:31.9983793Z             {
2026-06-17T06:47:31.9984075Z               "path": "CONTEXT.md",
2026-06-17T06:47:31.9984342Z               "line": 83
2026-06-17T06:47:31.9984601Z             }
2026-06-17T06:47:31.9984849Z           ]
2026-06-17T06:47:31.9985107Z         },
2026-06-17T06:47:31.9985370Z         "impl": {
2026-06-17T06:47:31.9985651Z           "complete": true,
2026-06-17T06:47:31.9985922Z           "evidence": [
2026-06-17T06:47:31.9986180Z             {
2026-06-17T06:47:31.9986556Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-17T06:47:31.9986832Z               "line": 120
2026-06-17T06:47:31.9987097Z             }
2026-06-17T06:47:31.9987360Z           ]
2026-06-17T06:47:31.9987607Z         },
2026-06-17T06:47:31.9987879Z         "int": {
2026-06-17T06:47:31.9988160Z           "complete": false,
2026-06-17T06:47:31.9988422Z           "evidence": []
2026-06-17T06:47:31.9988685Z         },
2026-06-17T06:47:31.9989023Z         "unit": {
2026-06-17T06:47:31.9989304Z           "complete": true,
2026-06-17T06:47:31.9989567Z           "evidence": [
2026-06-17T06:47:31.9989833Z             {
2026-06-17T06:47:31.9990203Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-17T06:47:31.9990479Z               "line": 404
2026-06-17T06:47:31.9990741Z             },
2026-06-17T06:47:31.9991002Z             {
2026-06-17T06:47:31.9991370Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-17T06:47:31.9991637Z               "line": 1078
2026-06-17T06:47:31.9991904Z             },
2026-06-17T06:47:31.9992158Z             {
2026-06-17T06:47:31.9992517Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-17T06:47:31.9992789Z               "line": 1107
2026-06-17T06:47:31.9993051Z             },
2026-06-17T06:47:31.9993298Z             {
2026-06-17T06:47:31.9993661Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-17T06:47:31.9993927Z               "line": 1147
2026-06-17T06:47:31.9994180Z             },
2026-06-17T06:47:31.9994432Z             {
2026-06-17T06:47:31.9994795Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-17T06:47:31.9995066Z               "line": 1162
2026-06-17T06:47:31.9995329Z             }
2026-06-17T06:47:31.9995591Z           ]
2026-06-17T06:47:31.9995848Z         }
2026-06-17T06:47:31.9996110Z       }
2026-06-17T06:47:31.9996363Z     },
2026-06-17T06:47:31.9996621Z     {
2026-06-17T06:47:31.9996908Z       "id": "REQ-MANIFEST-6",
2026-06-17T06:47:32.0002897Z       "title": "Cross-adapter fallback target addressing (M12-W3-T3.2): a cross-adapter fallback target is addressed as `<adapter>:<profile>` (not just a bare adapter_name), resolved through the one composite-addressing resolver (registry::resolve_option) at every adapter-option read site so a fallback may select a shipped/local profile (e.g. a `ccs` profile). CONTEXT.md §cross-adapter-fallback reconciled (\"ccs is a profile; cross-adapter fallback may target <adapter>:<profile>\"). Contract-only this milestone: the node-wide fallback SETTING + its rate-limit invocation are deferred to the consuming milestone (the runtime path does not exist yet); this REQ guarantees the ADDRESSING resolves.",
2026-06-17T06:47:32.0003334Z       "requiredStages": [
2026-06-17T06:47:32.0003697Z         "doc",
2026-06-17T06:47:32.0003954Z         "unit"
2026-06-17T06:47:32.0004207Z       ],
2026-06-17T06:47:32.0004464Z       "stages": {
2026-06-17T06:47:32.0004717Z         "doc": {
2026-06-17T06:47:32.0004978Z           "complete": true,
2026-06-17T06:47:32.0005251Z           "evidence": [
2026-06-17T06:47:32.0005514Z             {
2026-06-17T06:47:32.0005788Z               "path": "CONTEXT.md",
2026-06-17T06:47:32.0006055Z               "line": 141
2026-06-17T06:47:32.0006308Z             }
2026-06-17T06:47:32.0006561Z           ]
2026-06-17T06:47:32.0006810Z         },
2026-06-17T06:47:32.0007072Z         "impl": {
2026-06-17T06:47:32.0007348Z           "complete": false,
2026-06-17T06:47:32.0007619Z           "evidence": []
2026-06-17T06:47:32.0007876Z         },
2026-06-17T06:47:32.0008142Z         "int": {
2026-06-17T06:47:32.0008422Z           "complete": false,
2026-06-17T06:47:32.0008694Z           "evidence": []
2026-06-17T06:47:32.0009033Z         },
2026-06-17T06:47:32.0009300Z         "unit": {
2026-06-17T06:47:32.0009575Z           "complete": true,
2026-06-17T06:47:32.0009867Z           "evidence": [
2026-06-17T06:47:32.0010124Z             {
2026-06-17T06:47:32.0010496Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-17T06:47:32.0010763Z               "line": 1184
2026-06-17T06:47:32.0011023Z             }
2026-06-17T06:47:32.0011275Z           ]
2026-06-17T06:47:32.0011537Z         }
2026-06-17T06:47:32.0011794Z       }
2026-06-17T06:47:32.0012043Z     },
2026-06-17T06:47:32.0012309Z     {
2026-06-17T06:47:32.0012596Z       "id": "REQ-MANIFEST-7",
2026-06-17T06:47:32.0020905Z       "title": "Adapter-declared shortcut basename (M12-W2 follow-on): an optional `[adapter] shortcut_basename` manifest field names the basename the `spt endpoint run` picker bakes into the generated `<basename>-<id>` launcher shortcut (REQ-RUN-SHORTCUT). Absent ⇒ the harness-agnostic default `spt` (→ `spt-<id>`); an adapter sets it to brand its shortcuts (claude-spt → `cc` → `cc-<id>`), so the Claude-Code-ness lives in the PUBLISHED adapter manifest, never hardcoded in spt-core. The picker reads it from the RESOLVED manifest of the selected adapter (registry::resolve_option), falling back to `spt` when absent/empty/unresolvable. Additive + N-1-safe (serde-default Option, omitted from serialization when absent; old manifests parse clean); manifest.schema.json regenerated from the derive (ADR-0001, CI drift-gated). Documented in docs/MANIFEST.md `[adapter]` section + the claude-spt worked example — the adapter-author contract perri builds spt-claude-code against.",
2026-06-17T06:47:32.0021196Z       "requiredStages": [
2026-06-17T06:47:32.0021451Z         "doc",
2026-06-17T06:47:32.0021701Z         "impl",
2026-06-17T06:47:32.0021963Z         "unit"
2026-06-17T06:47:32.0022221Z       ],
2026-06-17T06:47:32.0022489Z       "stages": {
2026-06-17T06:47:32.0022765Z         "doc": {
2026-06-17T06:47:32.0023066Z           "complete": true,
2026-06-17T06:47:32.0023356Z           "evidence": [
2026-06-17T06:47:32.0023618Z             {
2026-06-17T06:47:32.0023936Z               "path": "docs/MANIFEST.md",
2026-06-17T06:47:32.0024187Z               "line": 34
2026-06-17T06:47:32.0024445Z             }
2026-06-17T06:47:32.0024707Z           ]
2026-06-17T06:47:32.0024950Z         },
2026-06-17T06:47:32.0025217Z         "impl": {
2026-06-17T06:47:32.0025489Z           "complete": true,
2026-06-17T06:47:32.0025765Z           "evidence": [
2026-06-17T06:47:32.0026024Z             {
2026-06-17T06:47:32.0026490Z               "path": "crates/spt/src/picker/data.rs",
2026-06-17T06:47:32.0026761Z               "line": 54
2026-06-17T06:47:32.0027019Z             }
2026-06-17T06:47:32.0027276Z           ]
2026-06-17T06:47:32.0027524Z         },
2026-06-17T06:47:32.0027790Z         "int": {
2026-06-17T06:47:32.0028068Z           "complete": false,
2026-06-17T06:47:32.0028334Z           "evidence": []
2026-06-17T06:47:32.0032614Z         },
2026-06-17T06:47:32.0032924Z         "unit": {
2026-06-17T06:47:32.0033359Z           "complete": true,
2026-06-17T06:47:32.0033631Z           "evidence": [
2026-06-17T06:47:32.0033892Z             {
2026-06-17T06:47:32.0034265Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T06:47:32.0034534Z               "line": 1424
2026-06-17T06:47:32.0034781Z             }
2026-06-17T06:47:32.0035039Z           ]
2026-06-17T06:47:32.0035296Z         }
2026-06-17T06:47:32.0035539Z       }
2026-06-17T06:47:32.0035801Z     },
2026-06-17T06:47:32.0036054Z     {
2026-06-17T06:47:32.0036345Z       "id": "REQ-MESH-1",
2026-06-17T06:47:32.0042495Z       "title": "Membership proof (seed-proof): symmetric current-epoch seed-knowledge replaces is_trusted at EVERY inbound gate (registry apply, WAN receive, sync, notif, connection accept). MK = HKDF(seed, domain ‖ subnet_id ‖ seed_epoch); mutual channel-bound challenge-response at connect (transcript binds both handshake-proven node pubkeys, both nonces, subnet_id, seed_epoch, role); verified once per connection, cached on the broker ConnEntry, kept warm via QUIC keep-alive so re-proof is restart/partition/rotation-only. Exact-epoch match (re-seed is the sole N-1 exception). SECURITY INVARIANTS: channel-bound (no cross-connection replay), mutual, accepts a member it never paired (the mesh property).",
2026-06-17T06:47:32.0042788Z       "requiredStages": [
2026-06-17T06:47:32.0043052Z         "impl",
2026-06-17T06:47:32.0043304Z         "unit",
2026-06-17T06:47:32.0043547Z         "int"
2026-06-17T06:47:32.0043803Z       ],
2026-06-17T06:47:32.0044052Z       "stages": {
2026-06-17T06:47:32.0044305Z         "doc": {
2026-06-17T06:47:32.0044578Z           "complete": false,
2026-06-17T06:47:32.0044849Z           "evidence": []
2026-06-17T06:47:32.0045099Z         },
2026-06-17T06:47:32.0045355Z         "impl": {
2026-06-17T06:47:32.0045636Z           "complete": true,
2026-06-17T06:47:32.0045904Z           "evidence": [
2026-06-17T06:47:32.0046176Z             {
2026-06-17T06:47:32.0046542Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-17T06:47:32.0046824Z               "line": 922
2026-06-17T06:47:32.0047082Z             },
2026-06-17T06:47:32.0047343Z             {
2026-06-17T06:47:32.0047716Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-17T06:47:32.0047990Z               "line": 38
2026-06-17T06:47:32.0048239Z             },
2026-06-17T06:47:32.0048492Z             {
2026-06-17T06:47:32.0048863Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-17T06:47:32.0049216Z               "line": 161
2026-06-17T06:47:32.0049478Z             },
2026-06-17T06:47:32.0049727Z             {
2026-06-17T06:47:32.0050098Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-17T06:47:32.0050378Z               "line": 206
2026-06-17T06:47:32.0050638Z             },
2026-06-17T06:47:32.0050891Z             {
2026-06-17T06:47:32.0051264Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-17T06:47:32.0051530Z               "line": 57
2026-06-17T06:47:32.0051787Z             },
2026-06-17T06:47:32.0052036Z             {
2026-06-17T06:47:32.0052426Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-17T06:47:32.0052698Z               "line": 24
2026-06-17T06:47:32.0052961Z             },
2026-06-17T06:47:32.0053207Z             {
2026-06-17T06:47:32.0053602Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-17T06:47:32.0053874Z               "line": 142
2026-06-17T06:47:32.0054122Z             },
2026-06-17T06:47:32.0054378Z             {
2026-06-17T06:47:32.0054879Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-17T06:47:32.0055147Z               "line": 162
2026-06-17T06:47:32.0055405Z             }
2026-06-17T06:47:32.0055655Z           ]
2026-06-17T06:47:32.0055910Z         },
2026-06-17T06:47:32.0056155Z         "int": {
2026-06-17T06:47:32.0056435Z           "complete": true,
2026-06-17T06:47:32.0056712Z           "evidence": [
2026-06-17T06:47:32.0056964Z             {
2026-06-17T06:47:32.0057445Z               "path": "crates/spt-daemon/tests/seedproofx.rs",
2026-06-17T06:47:32.0057714Z               "line": 67
2026-06-17T06:47:32.0057981Z             },
2026-06-17T06:47:32.0058228Z             {
2026-06-17T06:47:32.0058618Z               "path": "crates/spt-daemon/tests/seedproofx.rs",
2026-06-17T06:47:32.0058880Z               "line": 93
2026-06-17T06:47:32.0059223Z             },
2026-06-17T06:47:32.0059485Z             {
2026-06-17T06:47:32.0059872Z               "path": "crates/spt-daemon/tests/seedproofx.rs",
2026-06-17T06:47:32.0060153Z               "line": 117
2026-06-17T06:47:32.0060406Z             },
2026-06-17T06:47:32.0060668Z             {
2026-06-17T06:47:32.0061055Z               "path": "crates/spt-daemon/tests/seedproofx.rs",
2026-06-17T06:47:32.0061323Z               "line": 134
2026-06-17T06:47:32.0061581Z             }
2026-06-17T06:47:32.0061838Z           ]
2026-06-17T06:47:32.0062091Z         },
2026-06-17T06:47:32.0062338Z         "unit": {
2026-06-17T06:47:32.0062620Z           "complete": true,
2026-06-17T06:47:32.0062892Z           "evidence": [
2026-06-17T06:47:32.0063140Z             {
2026-06-17T06:47:32.0063516Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-17T06:47:32.0063777Z               "line": 427
2026-06-17T06:47:32.0064033Z             },
2026-06-17T06:47:32.0064280Z             {
2026-06-17T06:47:32.0064677Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-17T06:47:32.0064943Z               "line": 376
2026-06-17T06:47:32.0065201Z             },
2026-06-17T06:47:32.0065458Z             {
2026-06-17T06:47:32.0065840Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-17T06:47:32.0066116Z               "line": 412
2026-06-17T06:47:32.0066368Z             },
2026-06-17T06:47:32.0066633Z             {
2026-06-17T06:47:32.0067028Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-17T06:47:32.0067296Z               "line": 427
2026-06-17T06:47:32.0067549Z             },
2026-06-17T06:47:32.0067791Z             {
2026-06-17T06:47:32.0068188Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-17T06:47:32.0068464Z               "line": 438
2026-06-17T06:47:32.0068716Z             },
2026-06-17T06:47:32.0069049Z             {
2026-06-17T06:47:32.0069440Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-17T06:47:32.0069702Z               "line": 449
2026-06-17T06:47:32.0069951Z             },
2026-06-17T06:47:32.0070203Z             {
2026-06-17T06:47:32.0070594Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-17T06:47:32.0070857Z               "line": 460
2026-06-17T06:47:32.0071101Z             },
2026-06-17T06:47:32.0071360Z             {
2026-06-17T06:47:32.0071745Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-17T06:47:32.0072016Z               "line": 496
2026-06-17T06:47:32.0072264Z             },
2026-06-17T06:47:32.0072512Z             {
2026-06-17T06:47:32.0072903Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-17T06:47:32.0073184Z               "line": 519
2026-06-17T06:47:32.0073442Z             },
2026-06-17T06:47:32.0073705Z             {
2026-06-17T06:47:32.0074095Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-17T06:47:32.0074370Z               "line": 546
2026-06-17T06:47:32.0074622Z             }
2026-06-17T06:47:32.0074864Z           ]
2026-06-17T06:47:32.0075122Z         }
2026-06-17T06:47:32.0075370Z       }
2026-06-17T06:47:32.0075723Z     },
2026-06-17T06:47:32.0075976Z     {
2026-06-17T06:47:32.0076243Z       "id": "REQ-MESH-2",
2026-06-17T06:47:32.0083683Z       "title": "Member roster: node-level union-merge grow-set (per member: pubkey, label, machine_id, last-known address, last-seen — NOT the seed), the discovery directory the mesh dials by. Seeded IN FULL at pairing (seed-holder hands joiner the whole current roster, incl. offline members — folds in deferred pairing-time hostname capture + post-join address seeding); each node authors its own entry stamped with its lease_epoch, merged strictly-greater-wins (the node_label lease); exchanged only over seed-proof'd member connections; forgery-inert (a fake entry names a pubkey that still can't seed-proof). Removal needs a TOMBSTONE — a per-pubkey revoked marker that propagates, dominates the entry, gates admission (seed-proof ∧ ¬tombstoned), and prevents reinsert; cleared by a completed re-pair of that pubkey. Persists through silence (offline member keeps its entry).",
2026-06-17T06:47:32.0084107Z       "requiredStages": [
2026-06-17T06:47:32.0084374Z         "impl",
2026-06-17T06:47:32.0084632Z         "unit",
2026-06-17T06:47:32.0084879Z         "int"
2026-06-17T06:47:32.0085134Z       ],
2026-06-17T06:47:32.0085386Z       "stages": {
2026-06-17T06:47:32.0085644Z         "doc": {
2026-06-17T06:47:32.0085930Z           "complete": false,
2026-06-17T06:47:32.0086193Z           "evidence": []
2026-06-17T06:47:32.0086461Z         },
2026-06-17T06:47:32.0086717Z         "impl": {
2026-06-17T06:47:32.0086989Z           "complete": true,
2026-06-17T06:47:32.0087255Z           "evidence": [
2026-06-17T06:47:32.0087511Z             {
2026-06-17T06:47:32.0087891Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-17T06:47:32.0088163Z               "line": 757
2026-06-17T06:47:32.0088421Z             },
2026-06-17T06:47:32.0088674Z             {
2026-06-17T06:47:32.0089117Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-17T06:47:32.0089389Z               "line": 118
2026-06-17T06:47:32.0089652Z             },
2026-06-17T06:47:32.0089909Z             {
2026-06-17T06:47:32.0090274Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-17T06:47:32.0090541Z               "line": 347
2026-06-17T06:47:32.0090784Z             },
2026-06-17T06:47:32.0091042Z             {
2026-06-17T06:47:32.0091400Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-17T06:47:32.0091671Z               "line": 389
2026-06-17T06:47:32.0091925Z             },
2026-06-17T06:47:32.0092172Z             {
2026-06-17T06:47:32.0092543Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-17T06:47:32.0092812Z               "line": 403
2026-06-17T06:47:32.0093074Z             },
2026-06-17T06:47:32.0093327Z             {
2026-06-17T06:47:32.0093699Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-17T06:47:32.0093971Z               "line": 492
2026-06-17T06:47:32.0094223Z             },
2026-06-17T06:47:32.0094483Z             {
2026-06-17T06:47:32.0094844Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-17T06:47:32.0095117Z               "line": 507
2026-06-17T06:47:32.0095362Z             },
2026-06-17T06:47:32.0095622Z             {
2026-06-17T06:47:32.0095984Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-17T06:47:32.0096251Z               "line": 534
2026-06-17T06:47:32.0096505Z             },
2026-06-17T06:47:32.0096758Z             {
2026-06-17T06:47:32.0097134Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-17T06:47:32.0097402Z               "line": 207
2026-06-17T06:47:32.0097660Z             },
2026-06-17T06:47:32.0097905Z             {
2026-06-17T06:47:32.0098280Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-17T06:47:32.0098556Z               "line": 755
2026-06-17T06:47:32.0098804Z             },
2026-06-17T06:47:32.0099138Z             {
2026-06-17T06:47:32.0099515Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-17T06:47:32.0099893Z               "line": 816
2026-06-17T06:47:32.0100154Z             },
2026-06-17T06:47:32.0100402Z             {
2026-06-17T06:47:32.0100786Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-17T06:47:32.0101048Z               "line": 869
2026-06-17T06:47:32.0101307Z             },
2026-06-17T06:47:32.0101560Z             {
2026-06-17T06:47:32.0101931Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-17T06:47:32.0102199Z               "line": 891
2026-06-17T06:47:32.0102538Z             },
2026-06-17T06:47:32.0102786Z             {
2026-06-17T06:47:32.0103127Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T06:47:32.0103397Z               "line": 122
2026-06-17T06:47:32.0103644Z             },
2026-06-17T06:47:32.0103902Z             {
2026-06-17T06:47:32.0104249Z               "path": "crates/spt-store/src/roster.rs",
2026-06-17T06:47:32.0104513Z               "line": 44
2026-06-17T06:47:32.0104770Z             },
2026-06-17T06:47:32.0105019Z             {
2026-06-17T06:47:32.0105367Z               "path": "crates/spt-store/src/roster.rs",
2026-06-17T06:47:32.0105629Z               "line": 184
2026-06-17T06:47:32.0105889Z             },
2026-06-17T06:47:32.0106139Z             {
2026-06-17T06:47:32.0106473Z               "path": "crates/spt-store/src/roster.rs",
2026-06-17T06:47:32.0106741Z               "line": 211
2026-06-17T06:47:32.0106998Z             },
2026-06-17T06:47:32.0107261Z             {
2026-06-17T06:47:32.0107614Z               "path": "crates/spt-store/src/roster.rs",
2026-06-17T06:47:32.0107886Z               "line": 251
2026-06-17T06:47:32.0108147Z             },
2026-06-17T06:47:32.0108399Z             {
2026-06-17T06:47:32.0108744Z               "path": "crates/spt-store/src/roster.rs",
2026-06-17T06:47:32.0109101Z               "line": 275
2026-06-17T06:47:32.0109350Z             },
2026-06-17T06:47:32.0109603Z             {
2026-06-17T06:47:32.0109951Z               "path": "crates/spt-store/src/roster.rs",
2026-06-17T06:47:32.0110228Z               "line": 289
2026-06-17T06:47:32.0110505Z             },
2026-06-17T06:47:32.0110787Z             {
2026-06-17T06:47:32.0111153Z               "path": "crates/spt-store/src/roster.rs",
2026-06-17T06:47:32.0111452Z               "line": 300
2026-06-17T06:47:32.0111743Z             },
2026-06-17T06:47:32.0112024Z             {
2026-06-17T06:47:32.0112387Z               "path": "crates/spt-store/src/roster.rs",
2026-06-17T06:47:32.0112678Z               "line": 313
2026-06-17T06:47:32.0112964Z             }
2026-06-17T06:47:32.0113235Z           ]
2026-06-17T06:47:32.0113492Z         },
2026-06-17T06:47:32.0113758Z         "int": {
2026-06-17T06:47:32.0114038Z           "complete": true,
2026-06-17T06:47:32.0114305Z           "evidence": [
2026-06-17T06:47:32.0114552Z             {
2026-06-17T06:47:32.0114935Z               "path": "crates/spt-daemon/tests/rosterprop.rs",
2026-06-17T06:47:32.0115220Z               "line": 116
2026-06-17T06:47:32.0115477Z             },
2026-06-17T06:47:32.0115735Z             {
2026-06-17T06:47:32.0116121Z               "path": "crates/spt-daemon/tests/rosterprop.rs",
2026-06-17T06:47:32.0116382Z               "line": 181
2026-06-17T06:47:32.0116639Z             }
2026-06-17T06:47:32.0116901Z           ]
2026-06-17T06:47:32.0117158Z         },
2026-06-17T06:47:32.0117415Z         "unit": {
2026-06-17T06:47:32.0117686Z           "complete": true,
2026-06-17T06:47:32.0117954Z           "evidence": [
2026-06-17T06:47:32.0118216Z             {
2026-06-17T06:47:32.0118592Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-17T06:47:32.0118860Z               "line": 999
2026-06-17T06:47:32.0119205Z             },
2026-06-17T06:47:32.0119462Z             {
2026-06-17T06:47:32.0119834Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-17T06:47:32.0120110Z               "line": 1016
2026-06-17T06:47:32.0120364Z             },
2026-06-17T06:47:32.0120611Z             {
2026-06-17T06:47:32.0120988Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-17T06:47:32.0121380Z               "line": 1024
2026-06-17T06:47:32.0121637Z             },
2026-06-17T06:47:32.0121892Z             {
2026-06-17T06:47:32.0122255Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-17T06:47:32.0122517Z               "line": 1048
2026-06-17T06:47:32.0122766Z             },
2026-06-17T06:47:32.0123023Z             {
2026-06-17T06:47:32.0123409Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-17T06:47:32.0123771Z               "line": 1499
2026-06-17T06:47:32.0124033Z             },
2026-06-17T06:47:32.0124280Z             {
2026-06-17T06:47:32.0124632Z               "path": "crates/spt-store/src/roster.rs",
2026-06-17T06:47:32.0124904Z               "line": 347
2026-06-17T06:47:32.0125166Z             },
2026-06-17T06:47:32.0125412Z             {
2026-06-17T06:47:32.0125752Z               "path": "crates/spt-store/src/roster.rs",
2026-06-17T06:47:32.0126023Z               "line": 370
2026-06-17T06:47:32.0126285Z             },
2026-06-17T06:47:32.0126534Z             {
2026-06-17T06:47:32.0126877Z               "path": "crates/spt-store/src/roster.rs",
2026-06-17T06:47:32.0127143Z               "line": 407
2026-06-17T06:47:32.0127403Z             },
2026-06-17T06:47:32.0127655Z             {
2026-06-17T06:47:32.0127998Z               "path": "crates/spt-store/src/roster.rs",
2026-06-17T06:47:32.0128265Z               "line": 431
2026-06-17T06:47:32.0128529Z             },
2026-06-17T06:47:32.0128786Z             {
2026-06-17T06:47:32.0129224Z               "path": "crates/spt-store/src/roster.rs",
2026-06-17T06:47:32.0129495Z               "line": 483
2026-06-17T06:47:32.0129752Z             },
2026-06-17T06:47:32.0130003Z             {
2026-06-17T06:47:32.0130337Z               "path": "crates/spt-store/src/roster.rs",
2026-06-17T06:47:32.0130614Z               "line": 499
2026-06-17T06:47:32.0130875Z             },
2026-06-17T06:47:32.0131137Z             {
2026-06-17T06:47:32.0131486Z               "path": "crates/spt-store/src/roster.rs",
2026-06-17T06:47:32.0131762Z               "line": 514
2026-06-17T06:47:32.0132014Z             },
2026-06-17T06:47:32.0132269Z             {
2026-06-17T06:47:32.0132616Z               "path": "crates/spt-store/src/roster.rs",
2026-06-17T06:47:32.0132892Z               "line": 531
2026-06-17T06:47:32.0133140Z             }
2026-06-17T06:47:32.0133397Z           ]
2026-06-17T06:47:32.0133650Z         }
2026-06-17T06:47:32.0133907Z       }
2026-06-17T06:47:32.0134156Z     },
2026-06-17T06:47:32.0134398Z     {
2026-06-17T06:47:32.0134659Z       "id": "REQ-MESH-3",
2026-06-17T06:47:32.0139407Z       "title": "Mesh row fan-out: registry rows stay OWN-AUTHORED; the only change is the push target widens from directly-paired peers to ALL roster members (a wider DIRECT fan-out, never a third-party relay). Every row/message still arrives from its author over a handshake → KNOWN-HAZARDS 7.5 (origin = handshake node) and 4.10 (eviction lease: any future update comes from that node itself, alive) PRESERVED VERBATIM. Closes the staggered A→B→C repro: C (roster-seeded with A at pairing) initiates to A, seed-proof admits C unpaired, A learns C, both push directly.",
2026-06-17T06:47:32.0139694Z       "requiredStages": [
2026-06-17T06:47:32.0139957Z         "impl",
2026-06-17T06:47:32.0140217Z         "unit",
2026-06-17T06:47:32.0140476Z         "int"
2026-06-17T06:47:32.0140734Z       ],
2026-06-17T06:47:32.0140993Z       "stages": {
2026-06-17T06:47:32.0141245Z         "doc": {
2026-06-17T06:47:32.0141537Z           "complete": false,
2026-06-17T06:47:32.0141813Z           "evidence": []
2026-06-17T06:47:32.0142070Z         },
2026-06-17T06:47:32.0142332Z         "impl": {
2026-06-17T06:47:32.0142603Z           "complete": true,
2026-06-17T06:47:32.0142880Z           "evidence": [
2026-06-17T06:47:32.0143133Z             {
2026-06-17T06:47:32.0143500Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-17T06:47:32.0143763Z               "line": 641
2026-06-17T06:47:32.0144129Z             }
2026-06-17T06:47:32.0144392Z           ]
2026-06-17T06:47:32.0144649Z         },
2026-06-17T06:47:32.0144901Z         "int": {
2026-06-17T06:47:32.0145173Z           "complete": true,
2026-06-17T06:47:32.0145447Z           "evidence": [
2026-06-17T06:47:32.0145699Z             {
2026-06-17T06:47:32.0146062Z               "path": "crates/spt-daemon/tests/mesh.rs",
2026-06-17T06:47:32.0146329Z               "line": 373
2026-06-17T06:47:32.0146576Z             },
2026-06-17T06:47:32.0146935Z             {
2026-06-17T06:47:32.0147292Z               "path": "crates/spt-daemon/tests/mesh.rs",
2026-06-17T06:47:32.0147574Z               "line": 436
2026-06-17T06:47:32.0147831Z             }
2026-06-17T06:47:32.0148086Z           ]
2026-06-17T06:47:32.0148338Z         },
2026-06-17T06:47:32.0148591Z         "unit": {
2026-06-17T06:47:32.0148862Z           "complete": true,
2026-06-17T06:47:32.0149215Z           "evidence": [
2026-06-17T06:47:32.0149482Z             {
2026-06-17T06:47:32.0149873Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-17T06:47:32.0150136Z               "line": 910
2026-06-17T06:47:32.0150393Z             }
2026-06-17T06:47:32.0150644Z           ]
2026-06-17T06:47:32.0150914Z         }
2026-06-17T06:47:32.0151153Z       }
2026-06-17T06:47:32.0151410Z     },
2026-06-17T06:47:32.0151667Z     {
2026-06-17T06:47:32.0151943Z       "id": "REQ-MESH-4",
2026-06-17T06:47:32.0158200Z       "title": "Revoke + timeboxed seed rotation + re-seed grace: `spt subnet revoke <node>...` (list, elevation-gated, revoke-only) writes roster tombstones immediately, then schedules ONE seed rotation (re-mint seed, bump seed_epoch, push new seed CONFIDENTIALLY over member-auth'd TLS connections — never in roster/registry gossip — force-drop revokees) at the close of a coalescing window (default 1h); further revokes in the window join the same rotation (one epoch bump). `--force-rotate-seed` rotates immediately (compromised-node path). RE-SEED GRACE: a node proving the immediately-prior epoch (N-1) AND still on the roster gets a re-seed-only restricted connection (auto-heals a benign offliner); revoked/off-roster denied; ≥2 stale → re-pair.",
2026-06-17T06:47:32.0158492Z       "requiredStages": [
2026-06-17T06:47:32.0158742Z         "impl",
2026-06-17T06:47:32.0159078Z         "unit",
2026-06-17T06:47:32.0159340Z         "int"
2026-06-17T06:47:32.0159603Z       ],
2026-06-17T06:47:32.0159861Z       "stages": {
2026-06-17T06:47:32.0160128Z         "doc": {
2026-06-17T06:47:32.0160414Z           "complete": false,
2026-06-17T06:47:32.0160692Z           "evidence": []
2026-06-17T06:47:32.0160948Z         },
2026-06-17T06:47:32.0161209Z         "impl": {
2026-06-17T06:47:32.0161493Z           "complete": true,
2026-06-17T06:47:32.0161761Z           "evidence": [
2026-06-17T06:47:32.0162013Z             {
2026-06-17T06:47:32.0162408Z               "path": "crates/spt-daemon/src/pump/registry.rs",
2026-06-17T06:47:32.0162680Z               "line": 33
2026-06-17T06:47:32.0162934Z             },
2026-06-17T06:47:32.0163195Z             {
2026-06-17T06:47:32.0163597Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-17T06:47:32.0163854Z               "line": 68
2026-06-17T06:47:32.0164114Z             },
2026-06-17T06:47:32.0164372Z             {
2026-06-17T06:47:32.0164748Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-17T06:47:32.0165025Z               "line": 111
2026-06-17T06:47:32.0165282Z             },
2026-06-17T06:47:32.0165527Z             {
2026-06-17T06:47:32.0165903Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-17T06:47:32.0166180Z               "line": 462
2026-06-17T06:47:32.0166435Z             },
2026-06-17T06:47:32.0166690Z             {
2026-06-17T06:47:32.0167067Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-17T06:47:32.0167329Z               "line": 711
2026-06-17T06:47:32.0167582Z             },
2026-06-17T06:47:32.0167830Z             {
2026-06-17T06:47:32.0168193Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-17T06:47:32.0168574Z               "line": 725
2026-06-17T06:47:32.0168821Z             },
2026-06-17T06:47:32.0169174Z             {
2026-06-17T06:47:32.0169524Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T06:47:32.0169796Z               "line": 132
2026-06-17T06:47:32.0170045Z             },
2026-06-17T06:47:32.0170298Z             {
2026-06-17T06:47:32.0170655Z               "path": "crates/spt-store/src/rotation.rs",
2026-06-17T06:47:32.0171050Z               "line": 26
2026-06-17T06:47:32.0171313Z             },
2026-06-17T06:47:32.0171557Z             {
2026-06-17T06:47:32.0171922Z               "path": "crates/spt-store/src/rotation.rs",
2026-06-17T06:47:32.0172191Z               "line": 97
2026-06-17T06:47:32.0172457Z             },
2026-06-17T06:47:32.0172715Z             {
2026-06-17T06:47:32.0173063Z               "path": "crates/spt-store/src/rotation.rs",
2026-06-17T06:47:32.0173331Z               "line": 119
2026-06-17T06:47:32.0173593Z             },
2026-06-17T06:47:32.0173856Z             {
2026-06-17T06:47:32.0174195Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-17T06:47:32.0174457Z               "line": 82
2026-06-17T06:47:32.0174717Z             },
2026-06-17T06:47:32.0174960Z             {
2026-06-17T06:47:32.0175298Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-17T06:47:32.0175567Z               "line": 111
2026-06-17T06:47:32.0175824Z             },
2026-06-17T06:47:32.0176087Z             {
2026-06-17T06:47:32.0176430Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-17T06:47:32.0176692Z               "line": 232
2026-06-17T06:47:32.0176938Z             },
2026-06-17T06:47:32.0177193Z             {
2026-06-17T06:47:32.0177527Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-17T06:47:32.0177795Z               "line": 245
2026-06-17T06:47:32.0178052Z             },
2026-06-17T06:47:32.0178305Z             {
2026-06-17T06:47:32.0178625Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.0178886Z               "line": 4382
2026-06-17T06:47:32.0179216Z             }
2026-06-17T06:47:32.0179468Z           ]
2026-06-17T06:47:32.0179725Z         },
2026-06-17T06:47:32.0179976Z         "int": {
2026-06-17T06:47:32.0180247Z           "complete": true,
2026-06-17T06:47:32.0180518Z           "evidence": [
2026-06-17T06:47:32.0180771Z             {
2026-06-17T06:47:32.0181124Z               "path": "crates/spt-daemon/tests/reseed.rs",
2026-06-17T06:47:32.0181391Z               "line": 98
2026-06-17T06:47:32.0181653Z             },
2026-06-17T06:47:32.0181911Z             {
2026-06-17T06:47:32.0182258Z               "path": "crates/spt-daemon/tests/reseed.rs",
2026-06-17T06:47:32.0182533Z               "line": 140
2026-06-17T06:47:32.0182785Z             }
2026-06-17T06:47:32.0183042Z           ]
2026-06-17T06:47:32.0183295Z         },
2026-06-17T06:47:32.0183543Z         "unit": {
2026-06-17T06:47:32.0183824Z           "complete": true,
2026-06-17T06:47:32.0184097Z           "evidence": [
2026-06-17T06:47:32.0184354Z             {
2026-06-17T06:47:32.0184731Z               "path": "crates/spt-daemon/src/pump/registry.rs",
2026-06-17T06:47:32.0185008Z               "line": 178
2026-06-17T06:47:32.0185267Z             },
2026-06-17T06:47:32.0185525Z             {
2026-06-17T06:47:32.0185916Z               "path": "crates/spt-daemon/src/pump/registry.rs",
2026-06-17T06:47:32.0186178Z               "line": 242
2026-06-17T06:47:32.0186441Z             },
2026-06-17T06:47:32.0186694Z             {
2026-06-17T06:47:32.0187070Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-17T06:47:32.0187348Z               "line": 1079
2026-06-17T06:47:32.0187603Z             },
2026-06-17T06:47:32.0187858Z             {
2026-06-17T06:47:32.0188221Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-17T06:47:32.0188502Z               "line": 1109
2026-06-17T06:47:32.0188754Z             },
2026-06-17T06:47:32.0189098Z             {
2026-06-17T06:47:32.0189566Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-17T06:47:32.0189839Z               "line": 1129
2026-06-17T06:47:32.0190086Z             },
2026-06-17T06:47:32.0190342Z             {
2026-06-17T06:47:32.0190725Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-17T06:47:32.0190987Z               "line": 602
2026-06-17T06:47:32.0191241Z             },
2026-06-17T06:47:32.0191488Z             {
2026-06-17T06:47:32.0191846Z               "path": "crates/spt-store/src/rotation.rs",
2026-06-17T06:47:32.0192213Z               "line": 148
2026-06-17T06:47:32.0192471Z             },
2026-06-17T06:47:32.0192730Z             {
2026-06-17T06:47:32.0193079Z               "path": "crates/spt-store/src/rotation.rs",
2026-06-17T06:47:32.0193345Z               "line": 169
2026-06-17T06:47:32.0193602Z             },
2026-06-17T06:47:32.0193869Z             {
2026-06-17T06:47:32.0194221Z               "path": "crates/spt-store/src/rotation.rs",
2026-06-17T06:47:32.0194489Z               "line": 181
2026-06-17T06:47:32.0194752Z             },
2026-06-17T06:47:32.0194995Z             {
2026-06-17T06:47:32.0195357Z               "path": "crates/spt-store/src/rotation.rs",
2026-06-17T06:47:32.0195625Z               "line": 202
2026-06-17T06:47:32.0195870Z             },
2026-06-17T06:47:32.0196128Z             {
2026-06-17T06:47:32.0196466Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-17T06:47:32.0196734Z               "line": 375
2026-06-17T06:47:32.0196991Z             },
2026-06-17T06:47:32.0197245Z             {
2026-06-17T06:47:32.0197593Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-17T06:47:32.0197856Z               "line": 407
2026-06-17T06:47:32.0198111Z             },
2026-06-17T06:47:32.0198370Z             {
2026-06-17T06:47:32.0198690Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.0199043Z               "line": 9276
2026-06-17T06:47:32.0199300Z             }
2026-06-17T06:47:32.0199549Z           ]
2026-06-17T06:47:32.0199807Z         }
2026-06-17T06:47:32.0200064Z       }
2026-06-17T06:47:32.0200317Z     },
2026-06-17T06:47:32.0200569Z     {
2026-06-17T06:47:32.0200835Z       "id": "REQ-MESH-5",
2026-06-17T06:47:32.0204753Z       "title": "Hard cutover from pairwise trust: delete peers.json + the is_trusted authorization path (no migration — expendable test fleet, re-pairs fresh under the new model, user decision 2026-06-08). Warn-on-change DEMOTED from a gate to an awareness notice anchored on machine_id (not label): 'machine M, last seen as K1, now presents K2' — fires the same event as the REQ-SUBNET-7 re-pair overwrite. The TrustStore/peers.json code and its call sites are removed, not left dead.",
2026-06-17T06:47:32.0205039Z       "requiredStages": [
2026-06-17T06:47:32.0205297Z         "impl",
2026-06-17T06:47:32.0205560Z         "unit"
2026-06-17T06:47:32.0205813Z       ],
2026-06-17T06:47:32.0206070Z       "stages": {
2026-06-17T06:47:32.0206331Z         "doc": {
2026-06-17T06:47:32.0206607Z           "complete": false,
2026-06-17T06:47:32.0206875Z           "evidence": []
2026-06-17T06:47:32.0207118Z         },
2026-06-17T06:47:32.0207375Z         "impl": {
2026-06-17T06:47:32.0207646Z           "complete": true,
2026-06-17T06:47:32.0207923Z           "evidence": [
2026-06-17T06:47:32.0208181Z             {
2026-06-17T06:47:32.0208552Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-17T06:47:32.0208822Z               "line": 61
2026-06-17T06:47:32.0209160Z             },
2026-06-17T06:47:32.0209423Z             {
2026-06-17T06:47:32.0209775Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-17T06:47:32.0210042Z               "line": 109
2026-06-17T06:47:32.0210296Z             },
2026-06-17T06:47:32.0210542Z             {
2026-06-17T06:47:32.0210906Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-17T06:47:32.0211172Z               "line": 104
2026-06-17T06:47:32.0211428Z             },
2026-06-17T06:47:32.0211680Z             {
2026-06-17T06:47:32.0212174Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-17T06:47:32.0212446Z               "line": 105
2026-06-17T06:47:32.0212686Z             },
2026-06-17T06:47:32.0212938Z             {
2026-06-17T06:47:32.0213314Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T06:47:32.0213582Z               "line": 85
2026-06-17T06:47:32.0213845Z             },
2026-06-17T06:47:32.0214105Z             {
2026-06-17T06:47:32.0214489Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T06:47:32.0214852Z               "line": 250
2026-06-17T06:47:32.0215110Z             },
2026-06-17T06:47:32.0215361Z             {
2026-06-17T06:47:32.0215749Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T06:47:32.0216020Z               "line": 314
2026-06-17T06:47:32.0216277Z             },
2026-06-17T06:47:32.0216534Z             {
2026-06-17T06:47:32.0216919Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T06:47:32.0217182Z               "line": 715
2026-06-17T06:47:32.0217425Z             },
2026-06-17T06:47:32.0217688Z             {
2026-06-17T06:47:32.0218026Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-17T06:47:32.0218294Z               "line": 101
2026-06-17T06:47:32.0218555Z             },
2026-06-17T06:47:32.0218808Z             {
2026-06-17T06:47:32.0219240Z               "path": "crates/spt-store/src/roster.rs",
2026-06-17T06:47:32.0219514Z               "line": 193
2026-06-17T06:47:32.0219786Z             }
2026-06-17T06:47:32.0220044Z           ]
2026-06-17T06:47:32.0220288Z         },
2026-06-17T06:47:32.0220541Z         "int": {
2026-06-17T06:47:32.0220812Z           "complete": false,
2026-06-17T06:47:32.0221093Z           "evidence": []
2026-06-17T06:47:32.0221346Z         },
2026-06-17T06:47:32.0221608Z         "unit": {
2026-06-17T06:47:32.0221895Z           "complete": true,
2026-06-17T06:47:32.0222160Z           "evidence": [
2026-06-17T06:47:32.0222425Z             {
2026-06-17T06:47:32.0222812Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T06:47:32.0223074Z               "line": 957
2026-06-17T06:47:32.0223330Z             },
2026-06-17T06:47:32.0223612Z             {
2026-06-17T06:47:32.0223989Z               "path": "crates/spt-store/src/roster.rs",
2026-06-17T06:47:32.0224265Z               "line": 462
2026-06-17T06:47:32.0224546Z             }
2026-06-17T06:47:32.0224816Z           ]
2026-06-17T06:47:32.0225102Z         }
2026-06-17T06:47:32.0225379Z       }
2026-06-17T06:47:32.0225660Z     },
2026-06-17T06:47:32.0225931Z     {
2026-06-17T06:47:32.0226222Z       "id": "REQ-MESH-6",
2026-06-17T06:47:32.0229762Z       "title": "Concurrent liveness probes: `spt subnet status --nodes` fans out its offline/serve-probes (REQ-SUBNET-5) CONCURRENTLY — total wall-time bounded by the single-probe ceiling (~3s), never k×ceiling. The mesh makes a node see ALL members (many possibly offline), so a serial probe loop would be offline_count×3s. (Planning verifies the current REQ-SUBNET-5 probe loop's behavior and fixes it if serial.)",
2026-06-17T06:47:32.0230079Z       "requiredStages": [
2026-06-17T06:47:32.0230370Z         "impl",
2026-06-17T06:47:32.0230647Z         "unit"
2026-06-17T06:47:32.0230919Z       ],
2026-06-17T06:47:32.0231186Z       "stages": {
2026-06-17T06:47:32.0231440Z         "doc": {
2026-06-17T06:47:32.0231721Z           "complete": false,
2026-06-17T06:47:32.0231992Z           "evidence": []
2026-06-17T06:47:32.0232245Z         },
2026-06-17T06:47:32.0232506Z         "impl": {
2026-06-17T06:47:32.0232777Z           "complete": true,
2026-06-17T06:47:32.0233038Z           "evidence": [
2026-06-17T06:47:32.0233290Z             {
2026-06-17T06:47:32.0233605Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.0233872Z               "line": 3905
2026-06-17T06:47:32.0234130Z             }
2026-06-17T06:47:32.0234397Z           ]
2026-06-17T06:47:32.0234650Z         },
2026-06-17T06:47:32.0234913Z         "int": {
2026-06-17T06:47:32.0235301Z           "complete": false,
2026-06-17T06:47:32.0235576Z           "evidence": []
2026-06-17T06:47:32.0235828Z         },
2026-06-17T06:47:32.0236086Z         "unit": {
2026-06-17T06:47:32.0236368Z           "complete": true,
2026-06-17T06:47:32.0236634Z           "evidence": [
2026-06-17T06:47:32.0236893Z             {
2026-06-17T06:47:32.0237198Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.0237475Z               "line": 9809
2026-06-17T06:47:32.0237731Z             },
2026-06-17T06:47:32.0238097Z             {
2026-06-17T06:47:32.0238411Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.0238678Z               "line": 9836
2026-06-17T06:47:32.0239027Z             },
2026-06-17T06:47:32.0239279Z             {
2026-06-17T06:47:32.0239599Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.0239865Z               "line": 9860
2026-06-17T06:47:32.0240120Z             }
2026-06-17T06:47:32.0240385Z           ]
2026-06-17T06:47:32.0240639Z         }
2026-06-17T06:47:32.0240902Z       }
2026-06-17T06:47:32.0241146Z     },
2026-06-17T06:47:32.0241403Z     {
2026-06-17T06:47:32.0241685Z       "id": "REQ-MIGRATE-1",
2026-06-17T06:47:32.0242190Z       "title": "Auto-detect and migrate a legacy claude_skill_owl install",
2026-06-17T06:47:32.0242485Z       "requiredStages": [],
2026-06-17T06:47:32.0242747Z       "stages": {
2026-06-17T06:47:32.0243010Z         "doc": {
2026-06-17T06:47:32.0243276Z           "complete": false,
2026-06-17T06:47:32.0243555Z           "evidence": []
2026-06-17T06:47:32.0243811Z         },
2026-06-17T06:47:32.0244084Z         "impl": {
2026-06-17T06:47:32.0244356Z           "complete": false,
2026-06-17T06:47:32.0244623Z           "evidence": []
2026-06-17T06:47:32.0244877Z         },
2026-06-17T06:47:32.0245148Z         "int": {
2026-06-17T06:47:32.0245453Z           "complete": false,
2026-06-17T06:47:32.0245742Z           "evidence": []
2026-06-17T06:47:32.0246021Z         },
2026-06-17T06:47:32.0246317Z         "unit": {
2026-06-17T06:47:32.0246618Z           "complete": false,
2026-06-17T06:47:32.0246913Z           "evidence": []
2026-06-17T06:47:32.0247190Z         }
2026-06-17T06:47:32.0247448Z       }
2026-06-17T06:47:32.0247700Z     },
2026-06-17T06:47:32.0251509Z     {
2026-06-17T06:47:32.0251843Z       "id": "REQ-MSG-1",
2026-06-17T06:47:32.0253214Z       "title": "Local message delivery: TCP-first to a registered address, spool fallback when offline; id->address via registry (stale-clean first); reply routing (__REPLY_TO__)",
2026-06-17T06:47:32.0253514Z       "requiredStages": [
2026-06-17T06:47:32.0253779Z         "impl",
2026-06-17T06:47:32.0254034Z         "unit",
2026-06-17T06:47:32.0254291Z         "int"
2026-06-17T06:47:32.0254549Z       ],
2026-06-17T06:47:32.0254812Z       "stages": {
2026-06-17T06:47:32.0255059Z         "doc": {
2026-06-17T06:47:32.0255335Z           "complete": false,
2026-06-17T06:47:32.0255607Z           "evidence": []
2026-06-17T06:47:32.0255869Z         },
2026-06-17T06:47:32.0256128Z         "impl": {
2026-06-17T06:47:32.0256407Z           "complete": true,
2026-06-17T06:47:32.0256672Z           "evidence": [
2026-06-17T06:47:32.0256919Z             {
2026-06-17T06:47:32.0257263Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-17T06:47:32.0257530Z               "line": 28
2026-06-17T06:47:32.0257788Z             },
2026-06-17T06:47:32.0258041Z             {
2026-06-17T06:47:32.0258384Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-17T06:47:32.0258662Z               "line": 94
2026-06-17T06:47:32.0258905Z             },
2026-06-17T06:47:32.0259261Z             {
2026-06-17T06:47:32.0259599Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-17T06:47:32.0259876Z               "line": 127
2026-06-17T06:47:32.0260132Z             },
2026-06-17T06:47:32.0260395Z             {
2026-06-17T06:47:32.0260734Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-17T06:47:32.0261009Z               "line": 149
2026-06-17T06:47:32.0261259Z             },
2026-06-17T06:47:32.0261665Z             {
2026-06-17T06:47:32.0262008Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-17T06:47:32.0262280Z               "line": 174
2026-06-17T06:47:32.0262528Z             },
2026-06-17T06:47:32.0262777Z             {
2026-06-17T06:47:32.0263130Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-17T06:47:32.0263392Z               "line": 18
2026-06-17T06:47:32.0263639Z             },
2026-06-17T06:47:32.0263896Z             {
2026-06-17T06:47:32.0264324Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-17T06:47:32.0264594Z               "line": 13
2026-06-17T06:47:32.0264851Z             },
2026-06-17T06:47:32.0265109Z             {
2026-06-17T06:47:32.0265438Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-17T06:47:32.0265696Z               "line": 62
2026-06-17T06:47:32.0265949Z             },
2026-06-17T06:47:32.0266201Z             {
2026-06-17T06:47:32.0266530Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-17T06:47:32.0266801Z               "line": 13
2026-06-17T06:47:32.0267052Z             }
2026-06-17T06:47:32.0267319Z           ]
2026-06-17T06:47:32.0267566Z         },
2026-06-17T06:47:32.0267823Z         "int": {
2026-06-17T06:47:32.0268100Z           "complete": true,
2026-06-17T06:47:32.0268362Z           "evidence": [
2026-06-17T06:47:32.0268615Z             {
2026-06-17T06:47:32.0269101Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-17T06:47:32.0269373Z               "line": 9
2026-06-17T06:47:32.0269625Z             },
2026-06-17T06:47:32.0269879Z             {
2026-06-17T06:47:32.0270279Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-17T06:47:32.0270541Z               "line": 56
2026-06-17T06:47:32.0270798Z             },
2026-06-17T06:47:32.0271051Z             {
2026-06-17T06:47:32.0271457Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-17T06:47:32.0271714Z               "line": 113
2026-06-17T06:47:32.0271979Z             }
2026-06-17T06:47:32.0272244Z           ]
2026-06-17T06:47:32.0272489Z         },
2026-06-17T06:47:32.0272746Z         "unit": {
2026-06-17T06:47:32.0273012Z           "complete": true,
2026-06-17T06:47:32.0273293Z           "evidence": [
2026-06-17T06:47:32.0273545Z             {
2026-06-17T06:47:32.0273884Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-17T06:47:32.0274156Z               "line": 203
2026-06-17T06:47:32.0274413Z             },
2026-06-17T06:47:32.0274673Z             {
2026-06-17T06:47:32.0275013Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-17T06:47:32.0275273Z               "line": 232
2026-06-17T06:47:32.0275530Z             },
2026-06-17T06:47:32.0275788Z             {
2026-06-17T06:47:32.0276131Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-17T06:47:32.0276394Z               "line": 277
2026-06-17T06:47:32.0276679Z             },
2026-06-17T06:47:32.0276938Z             {
2026-06-17T06:47:32.0277276Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-17T06:47:32.0277542Z               "line": 300
2026-06-17T06:47:32.0277797Z             },
2026-06-17T06:47:32.0278054Z             {
2026-06-17T06:47:32.0278393Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-17T06:47:32.0278665Z               "line": 325
2026-06-17T06:47:32.0278922Z             },
2026-06-17T06:47:32.0279271Z             {
2026-06-17T06:47:32.0279609Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-17T06:47:32.0279880Z               "line": 204
2026-06-17T06:47:32.0280143Z             },
2026-06-17T06:47:32.0280386Z             {
2026-06-17T06:47:32.0280739Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-17T06:47:32.0281006Z               "line": 237
2026-06-17T06:47:32.0281262Z             },
2026-06-17T06:47:32.0281525Z             {
2026-06-17T06:47:32.0281873Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-17T06:47:32.0282139Z               "line": 251
2026-06-17T06:47:32.0282496Z             },
2026-06-17T06:47:32.0282762Z             {
2026-06-17T06:47:32.0283105Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-17T06:47:32.0283372Z               "line": 263
2026-06-17T06:47:32.0283630Z             },
2026-06-17T06:47:32.0283888Z             {
2026-06-17T06:47:32.0284212Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-17T06:47:32.0284488Z               "line": 162
2026-06-17T06:47:32.0284745Z             },
2026-06-17T06:47:32.0284997Z             {
2026-06-17T06:47:32.0285426Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-17T06:47:32.0285695Z               "line": 242
2026-06-17T06:47:32.0285953Z             },
2026-06-17T06:47:32.0286211Z             {
2026-06-17T06:47:32.0286535Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-17T06:47:32.0286802Z               "line": 134
2026-06-17T06:47:32.0287079Z             },
2026-06-17T06:47:32.0287359Z             {
2026-06-17T06:47:32.0287699Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-17T06:47:32.0287982Z               "line": 153
2026-06-17T06:47:32.0288257Z             }
2026-06-17T06:47:32.0288506Z           ]
2026-06-17T06:47:32.0288763Z         }
2026-06-17T06:47:32.0289101Z       }
2026-06-17T06:47:32.0289355Z     },
2026-06-17T06:47:32.0289606Z     {
2026-06-17T06:47:32.0289883Z       "id": "REQ-MSG-2",
2026-06-17T06:47:32.0290694Z       "title": "spt binary CLI surface: send/ring/ready(+--once)/list/stop/whoami, stable arg shapes + exit codes",
2026-06-17T06:47:32.0290989Z       "requiredStages": [
2026-06-17T06:47:32.0291251Z         "impl",
2026-06-17T06:47:32.0291502Z         "unit"
2026-06-17T06:47:32.0291760Z       ],
2026-06-17T06:47:32.0292023Z       "stages": {
2026-06-17T06:47:32.0292276Z         "doc": {
2026-06-17T06:47:32.0292563Z           "complete": false,
2026-06-17T06:47:32.0292834Z           "evidence": []
2026-06-17T06:47:32.0293095Z         },
2026-06-17T06:47:32.0293355Z         "impl": {
2026-06-17T06:47:32.0293641Z           "complete": true,
2026-06-17T06:47:32.0293918Z           "evidence": [
2026-06-17T06:47:32.0294176Z             {
2026-06-17T06:47:32.0294490Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.0294752Z               "line": 11
2026-06-17T06:47:32.0295009Z             },
2026-06-17T06:47:32.0295267Z             {
2026-06-17T06:47:32.0295591Z               "path": "crates/spt/src/main.rs",
2026-06-17T06:47:32.0295858Z               "line": 8
2026-06-17T06:47:32.0296114Z             }
2026-06-17T06:47:32.0296375Z           ]
2026-06-17T06:47:32.0296622Z         },
2026-06-17T06:47:32.0296889Z         "int": {
2026-06-17T06:47:32.0297167Z           "complete": false,
2026-06-17T06:47:32.0297443Z           "evidence": []
2026-06-17T06:47:32.0297701Z         },
2026-06-17T06:47:32.0297964Z         "unit": {
2026-06-17T06:47:32.0298235Z           "complete": true,
2026-06-17T06:47:32.0298500Z           "evidence": [
2026-06-17T06:47:32.0298760Z             {
2026-06-17T06:47:32.0299155Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.0299432Z               "line": 7048
2026-06-17T06:47:32.0299695Z             },
2026-06-17T06:47:32.0299948Z             {
2026-06-17T06:47:32.0300268Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.0300540Z               "line": 7090
2026-06-17T06:47:32.0300801Z             },
2026-06-17T06:47:32.0301073Z             {
2026-06-17T06:47:32.0301405Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.0301682Z               "line": 7139
2026-06-17T06:47:32.0301940Z             },
2026-06-17T06:47:32.0302193Z             {
2026-06-17T06:47:32.0302498Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.0302775Z               "line": 7162
2026-06-17T06:47:32.0303036Z             },
2026-06-17T06:47:32.0303284Z             {
2026-06-17T06:47:32.0303598Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.0303868Z               "line": 9031
2026-06-17T06:47:32.0304126Z             },
2026-06-17T06:47:32.0304483Z             {
2026-06-17T06:47:32.0304807Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.0305069Z               "line": 9040
2026-06-17T06:47:32.0305332Z             },
2026-06-17T06:47:32.0305588Z             {
2026-06-17T06:47:32.0305913Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.0306199Z               "line": 9054
2026-06-17T06:47:32.0306447Z             }
2026-06-17T06:47:32.0306698Z           ]
2026-06-17T06:47:32.0306954Z         }
2026-06-17T06:47:32.0307322Z       }
2026-06-17T06:47:32.0307579Z     },
2026-06-17T06:47:32.0307821Z     {
2026-06-17T06:47:32.0308103Z       "id": "REQ-MSG-3",
2026-06-17T06:47:32.0309344Z       "title": "Ready-agent lifecycle: register perch (info.json + listener + registry address) on ready, drain spooled backlog on startup, clean teardown",
2026-06-17T06:47:32.0309622Z       "requiredStages": [
2026-06-17T06:47:32.0309884Z         "impl",
2026-06-17T06:47:32.0310151Z         "unit",
2026-06-17T06:47:32.0310402Z         "int"
2026-06-17T06:47:32.0310650Z       ],
2026-06-17T06:47:32.0310908Z       "stages": {
2026-06-17T06:47:32.0311166Z         "doc": {
2026-06-17T06:47:32.0311453Z           "complete": false,
2026-06-17T06:47:32.0311715Z           "evidence": []
2026-06-17T06:47:32.0311975Z         },
2026-06-17T06:47:32.0312232Z         "impl": {
2026-06-17T06:47:32.0312510Z           "complete": true,
2026-06-17T06:47:32.0312767Z           "evidence": [
2026-06-17T06:47:32.0313020Z             {
2026-06-17T06:47:32.0313383Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-17T06:47:32.0313650Z               "line": 19
2026-06-17T06:47:32.0313906Z             },
2026-06-17T06:47:32.0314163Z             {
2026-06-17T06:47:32.0314490Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-17T06:47:32.0314761Z               "line": 21
2026-06-17T06:47:32.0315019Z             },
2026-06-17T06:47:32.0315273Z             {
2026-06-17T06:47:32.0315606Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-17T06:47:32.0315868Z               "line": 48
2026-06-17T06:47:32.0316125Z             },
2026-06-17T06:47:32.0316377Z             {
2026-06-17T06:47:32.0316706Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-17T06:47:32.0316969Z               "line": 151
2026-06-17T06:47:32.0317234Z             }
2026-06-17T06:47:32.0317485Z           ]
2026-06-17T06:47:32.0317742Z         },
2026-06-17T06:47:32.0317995Z         "int": {
2026-06-17T06:47:32.0318268Z           "complete": true,
2026-06-17T06:47:32.0318539Z           "evidence": [
2026-06-17T06:47:32.0318793Z             {
2026-06-17T06:47:32.0319263Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-17T06:47:32.0319526Z               "line": 10
2026-06-17T06:47:32.0319787Z             },
2026-06-17T06:47:32.0320038Z             {
2026-06-17T06:47:32.0320434Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-17T06:47:32.0320701Z               "line": 56
2026-06-17T06:47:32.0320958Z             }
2026-06-17T06:47:32.0321220Z           ]
2026-06-17T06:47:32.0321478Z         },
2026-06-17T06:47:32.0321731Z         "unit": {
2026-06-17T06:47:32.0322008Z           "complete": true,
2026-06-17T06:47:32.0322280Z           "evidence": [
2026-06-17T06:47:32.0322545Z             {
2026-06-17T06:47:32.0322859Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-17T06:47:32.0323135Z               "line": 205
2026-06-17T06:47:32.0323385Z             },
2026-06-17T06:47:32.0323652Z             {
2026-06-17T06:47:32.0323990Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-17T06:47:32.0324253Z               "line": 224
2026-06-17T06:47:32.0324515Z             },
2026-06-17T06:47:32.0324761Z             {
2026-06-17T06:47:32.0325092Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-17T06:47:32.0325359Z               "line": 247
2026-06-17T06:47:32.0325618Z             }
2026-06-17T06:47:32.0325866Z           ]
2026-06-17T06:47:32.0326113Z         }
2026-06-17T06:47:32.0326467Z       }
2026-06-17T06:47:32.0326713Z     },
2026-06-17T06:47:32.0326971Z     {
2026-06-17T06:47:32.0327242Z       "id": "REQ-MSG-4",
2026-06-17T06:47:32.0329610Z       "title": "Listener stream stdout emits EVENT envelope lines (sister-format, ADR-0001): parse the __REPLY_TO__ frame, pass pre-formed typed envelopes through verbatim (no double-wrap), compose <EVENT type=\"msg\" from=…> otherwise, chunk oversized lines into EVENT-PART",
2026-06-17T06:47:32.0329895Z       "requiredStages": [
2026-06-17T06:47:32.0330256Z         "impl",
2026-06-17T06:47:32.0330516Z         "unit",
2026-06-17T06:47:32.0330774Z         "int"
2026-06-17T06:47:32.0331028Z       ],
2026-06-17T06:47:32.0331285Z       "stages": {
2026-06-17T06:47:32.0331533Z         "doc": {
2026-06-17T06:47:32.0331818Z           "complete": false,
2026-06-17T06:47:32.0332090Z           "evidence": []
2026-06-17T06:47:32.0332348Z         },
2026-06-17T06:47:32.0332606Z         "impl": {
2026-06-17T06:47:32.0332888Z           "complete": true,
2026-06-17T06:47:32.0333157Z           "evidence": [
2026-06-17T06:47:32.0333405Z             {
2026-06-17T06:47:32.0333724Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-17T06:47:32.0333987Z               "line": 19
2026-06-17T06:47:32.0334249Z             },
2026-06-17T06:47:32.0334508Z             {
2026-06-17T06:47:32.0334841Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-17T06:47:32.0335114Z               "line": 46
2026-06-17T06:47:32.0335368Z             },
2026-06-17T06:47:32.0335619Z             {
2026-06-17T06:47:32.0335948Z               "path": "crates/spt/src/api/startup.rs",
2026-06-17T06:47:32.0336229Z               "line": 407
2026-06-17T06:47:32.0336487Z             },
2026-06-17T06:47:32.0336741Z             {
2026-06-17T06:47:32.0337051Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.0337318Z               "line": 2855
2026-06-17T06:47:32.0337579Z             }
2026-06-17T06:47:32.0337832Z           ]
2026-06-17T06:47:32.0338093Z         },
2026-06-17T06:47:32.0338346Z         "int": {
2026-06-17T06:47:32.0338634Z           "complete": true,
2026-06-17T06:47:32.0338906Z           "evidence": [
2026-06-17T06:47:32.0339240Z             {
2026-06-17T06:47:32.0339617Z               "path": "crates/spt/tests/quickstart_e2e.rs",
2026-06-17T06:47:32.0339889Z               "line": 98
2026-06-17T06:47:32.0340145Z             },
2026-06-17T06:47:32.0340393Z             {
2026-06-17T06:47:32.0340769Z               "path": "crates/spt/tests/quickstart_e2e.rs",
2026-06-17T06:47:32.0341034Z               "line": 128
2026-06-17T06:47:32.0341288Z             }
2026-06-17T06:47:32.0341545Z           ]
2026-06-17T06:47:32.0341797Z         },
2026-06-17T06:47:32.0342058Z         "unit": {
2026-06-17T06:47:32.0342331Z           "complete": true,
2026-06-17T06:47:32.0342598Z           "evidence": [
2026-06-17T06:47:32.0342865Z             {
2026-06-17T06:47:32.0343189Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-17T06:47:32.0343452Z               "line": 68
2026-06-17T06:47:32.0343712Z             },
2026-06-17T06:47:32.0343970Z             {
2026-06-17T06:47:32.0344299Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-17T06:47:32.0344571Z               "line": 79
2026-06-17T06:47:32.0344823Z             },
2026-06-17T06:47:32.0345077Z             {
2026-06-17T06:47:32.0345392Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-17T06:47:32.0345659Z               "line": 90
2026-06-17T06:47:32.0345919Z             },
2026-06-17T06:47:32.0346170Z             {
2026-06-17T06:47:32.0346493Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-17T06:47:32.0346766Z               "line": 151
2026-06-17T06:47:32.0347014Z             }
2026-06-17T06:47:32.0347277Z           ]
2026-06-17T06:47:32.0347524Z         }
2026-06-17T06:47:32.0347786Z       }
2026-06-17T06:47:32.0348033Z     },
2026-06-17T06:47:32.0348288Z     {
2026-06-17T06:47:32.0348555Z       "id": "REQ-MSG-5",
2026-06-17T06:47:32.0350854Z       "title": "user-msg envelope kind + daemon identity gate: a Gateway endpoint / the local user's CLI author user-msg (the user's authority); agent-family senders re-stamped to plain msg; identity-gated never payload-trusted (KH 7.3/7.5); wire-additive (N-1 receivers tolerate the new type)",
2026-06-17T06:47:32.0351272Z       "requiredStages": [
2026-06-17T06:47:32.0351528Z         "doc",
2026-06-17T06:47:32.0351795Z         "impl",
2026-06-17T06:47:32.0352047Z         "unit"
2026-06-17T06:47:32.0352304Z       ],
2026-06-17T06:47:32.0352663Z       "stages": {
2026-06-17T06:47:32.0352924Z         "doc": {
2026-06-17T06:47:32.0353196Z           "complete": true,
2026-06-17T06:47:32.0353458Z           "evidence": [
2026-06-17T06:47:32.0353721Z             {
2026-06-17T06:47:32.0354013Z               "path": "CONTEXT.md",
2026-06-17T06:47:32.0354282Z               "line": 219
2026-06-17T06:47:32.0354534Z             }
2026-06-17T06:47:32.0354792Z           ]
2026-06-17T06:47:32.0355046Z         },
2026-06-17T06:47:32.0355308Z         "impl": {
2026-06-17T06:47:32.0355590Z           "complete": true,
2026-06-17T06:47:32.0355856Z           "evidence": [
2026-06-17T06:47:32.0356109Z             {
2026-06-17T06:47:32.0356446Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-17T06:47:32.0356715Z               "line": 60
2026-06-17T06:47:32.0356979Z             },
2026-06-17T06:47:32.0357232Z             {
2026-06-17T06:47:32.0357575Z               "path": "crates/spt-proto/src/event.rs",
2026-06-17T06:47:32.0357832Z               "line": 126
2026-06-17T06:47:32.0358098Z             },
2026-06-17T06:47:32.0358355Z             {
2026-06-17T06:47:32.0358699Z               "path": "crates/spt-proto/src/event.rs",
2026-06-17T06:47:32.0359063Z               "line": 135
2026-06-17T06:47:32.0359313Z             },
2026-06-17T06:47:32.0359569Z             {
2026-06-17T06:47:32.0359911Z               "path": "crates/spt-proto/src/event.rs",
2026-06-17T06:47:32.0360189Z               "line": 149
2026-06-17T06:47:32.0360446Z             },
2026-06-17T06:47:32.0360699Z             {
2026-06-17T06:47:32.0361043Z               "path": "crates/spt-proto/src/event.rs",
2026-06-17T06:47:32.0361315Z               "line": 178
2026-06-17T06:47:32.0361566Z             },
2026-06-17T06:47:32.0361818Z             {
2026-06-17T06:47:32.0362130Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.0362399Z               "line": 2601
2026-06-17T06:47:32.0362651Z             }
2026-06-17T06:47:32.0362913Z           ]
2026-06-17T06:47:32.0363165Z         },
2026-06-17T06:47:32.0363423Z         "int": {
2026-06-17T06:47:32.0363699Z           "complete": true,
2026-06-17T06:47:32.0363967Z           "evidence": [
2026-06-17T06:47:32.0364215Z             {
2026-06-17T06:47:32.0364564Z               "path": "crates/spt/tests/gateway_e2e.rs",
2026-06-17T06:47:32.0364837Z               "line": 19
2026-06-17T06:47:32.0365090Z             }
2026-06-17T06:47:32.0365338Z           ]
2026-06-17T06:47:32.0365596Z         },
2026-06-17T06:47:32.0365854Z         "unit": {
2026-06-17T06:47:32.0366141Z           "complete": true,
2026-06-17T06:47:32.0366407Z           "evidence": [
2026-06-17T06:47:32.0366654Z             {
2026-06-17T06:47:32.0366992Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-17T06:47:32.0367252Z               "line": 192
2026-06-17T06:47:32.0367515Z             },
2026-06-17T06:47:32.0367777Z             {
2026-06-17T06:47:32.0368135Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-17T06:47:32.0368397Z               "line": 154
2026-06-17T06:47:32.0368663Z             },
2026-06-17T06:47:32.0368916Z             {
2026-06-17T06:47:32.0369328Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-17T06:47:32.0369599Z               "line": 122
2026-06-17T06:47:32.0369845Z             },
2026-06-17T06:47:32.0370129Z             {
2026-06-17T06:47:32.0370486Z               "path": "crates/spt-proto/src/event.rs",
2026-06-17T06:47:32.0370773Z               "line": 452
2026-06-17T06:47:32.0371049Z             },
2026-06-17T06:47:32.0371435Z             {
2026-06-17T06:47:32.0371807Z               "path": "crates/spt-proto/src/event.rs",
2026-06-17T06:47:32.0372098Z               "line": 501
2026-06-17T06:47:32.0372383Z             },
2026-06-17T06:47:32.0372630Z             {
2026-06-17T06:47:32.0372987Z               "path": "crates/spt-proto/src/event.rs",
2026-06-17T06:47:32.0373258Z               "line": 517
2026-06-17T06:47:32.0373516Z             },
2026-06-17T06:47:32.0373773Z             {
2026-06-17T06:47:32.0374107Z               "path": "crates/spt-proto/src/event.rs",
2026-06-17T06:47:32.0374475Z               "line": 536
2026-06-17T06:47:32.0374732Z             },
2026-06-17T06:47:32.0374994Z             {
2026-06-17T06:47:32.0375307Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.0375579Z               "line": 6991
2026-06-17T06:47:32.0375827Z             }
2026-06-17T06:47:32.0376081Z           ]
2026-06-17T06:47:32.0376323Z         }
2026-06-17T06:47:32.0376580Z       }
2026-06-17T06:47:32.0376833Z     },
2026-06-17T06:47:32.0377096Z     {
2026-06-17T06:47:32.0377369Z       "id": "REQ-MSG-6",
2026-06-17T06:47:32.0381853Z       "title": "cross-node Gateway user-msg honored via advertised endpoint_type: a user-msg from a Gateway-typed origin survives the receive_wan funnel as user-msg (vs the fail-closed re-stamp), keyed on the QUIC-handshake-proven origin node (never wire `from`). Trust boundary = subnet membership (operator-ratified 2026-06-13); no defense against an in-subnet member forging the type. Instance.endpoint_type is an additive serde-default field extending REQ-INST-7's data model. Absent/unknown type → re-stamp (N-1 rollout grace)",
2026-06-17T06:47:32.0382144Z       "requiredStages": [
2026-06-17T06:47:32.0382406Z         "doc",
2026-06-17T06:47:32.0382663Z         "impl",
2026-06-17T06:47:32.0382920Z         "unit"
2026-06-17T06:47:32.0383176Z       ],
2026-06-17T06:47:32.0383432Z       "stages": {
2026-06-17T06:47:32.0383694Z         "doc": {
2026-06-17T06:47:32.0383970Z           "complete": true,
2026-06-17T06:47:32.0384233Z           "evidence": [
2026-06-17T06:47:32.0384500Z             {
2026-06-17T06:47:32.0384791Z               "path": "CONTEXT.md",
2026-06-17T06:47:32.0385059Z               "line": 222
2026-06-17T06:47:32.0385317Z             }
2026-06-17T06:47:32.0385578Z           ]
2026-06-17T06:47:32.0385839Z         },
2026-06-17T06:47:32.0386111Z         "impl": {
2026-06-17T06:47:32.0386387Z           "complete": true,
2026-06-17T06:47:32.0386646Z           "evidence": [
2026-06-17T06:47:32.0386902Z             {
2026-06-17T06:47:32.0387290Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T06:47:32.0387566Z               "line": 177
2026-06-17T06:47:32.0387808Z             },
2026-06-17T06:47:32.0388060Z             {
2026-06-17T06:47:32.0388443Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T06:47:32.0388716Z               "line": 422
2026-06-17T06:47:32.0389044Z             },
2026-06-17T06:47:32.0389293Z             {
2026-06-17T06:47:32.0389674Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T06:47:32.0389946Z               "line": 445
2026-06-17T06:47:32.0390204Z             },
2026-06-17T06:47:32.0390467Z             {
2026-06-17T06:47:32.0390801Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-17T06:47:32.0391074Z               "line": 89
2026-06-17T06:47:32.0391334Z             },
2026-06-17T06:47:32.0391597Z             {
2026-06-17T06:47:32.0391959Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T06:47:32.0392226Z               "line": 155
2026-06-17T06:47:32.0392479Z             }
2026-06-17T06:47:32.0392733Z           ]
2026-06-17T06:47:32.0392990Z         },
2026-06-17T06:47:32.0393242Z         "int": {
2026-06-17T06:47:32.0393522Z           "complete": false,
2026-06-17T06:47:32.0393792Z           "evidence": []
2026-06-17T06:47:32.0394069Z         },
2026-06-17T06:47:32.0394336Z         "unit": {
2026-06-17T06:47:32.0394608Z           "complete": true,
2026-06-17T06:47:32.0394980Z           "evidence": [
2026-06-17T06:47:32.0395242Z             {
2026-06-17T06:47:32.0395624Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T06:47:32.0395900Z               "line": 1639
2026-06-17T06:47:32.0396148Z             },
2026-06-17T06:47:32.0396394Z             {
2026-06-17T06:47:32.0396727Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-17T06:47:32.0396996Z               "line": 219
2026-06-17T06:47:32.0397262Z             }
2026-06-17T06:47:32.0397610Z           ]
2026-06-17T06:47:32.0397864Z         }
2026-06-17T06:47:32.0398117Z       }
2026-06-17T06:47:32.0398368Z     },
2026-06-17T06:47:32.0398616Z     {
2026-06-17T06:47:32.0398895Z       "id": "REQ-MSG-ENVELOPE",
2026-06-17T06:47:32.0409371Z       "title": "The <EVENT type=\"msg\" from=…>body</EVENT> envelope (spt-proto::event, the ADR-0001 grammar) is the SOLE canonical arriving-message format at EVERY harness arriving-message surface on an AGENT perch — api listen AND api poll/worker-poll, byte-identical (reverses REQ-MSG-4's 'hook drains keep the raw frame by contract'). SCOPE CARVE-OUT: the shell-command relay (api poll <shell-id> --link, cmd_poll_shell) is a distinct internal transport carrying RAW MAC'd stamped frames the shell child consumes verbatim — NOT an arriving-message surface, deliberately EXEMPT from <EVENT> composition (notify_shell_e2e guards this boundary). __REPLY_TO__ — mis-elevated during the clean-room port to a fake ADR-0001 'stable wire format' (spt-msg/wire.rs, lib.rs) — is REMOVED entirely (spool format_row, the spt-msg TCP frame, emit parse_frame); (from, body) carried structurally, <EVENT> composed once at the delivery boundary. No legacy sister-interop (spt-core never required it). Reply-correlation rebinds onto the structural from / <EVENT from=…> attribute (ADR-0009 access-gate + ADR-0012 Psyche/spt-live reply-target). Self-delimiting by construction → finding F-002 (non-self-delimiting multi-message poll) dissolves. ADR-0020.",
2026-06-17T06:47:32.0409703Z       "requiredStages": [
2026-06-17T06:47:32.0409960Z         "doc",
2026-06-17T06:47:32.0410217Z         "impl",
2026-06-17T06:47:32.0410479Z         "unit",
2026-06-17T06:47:32.0410742Z         "int"
2026-06-17T06:47:32.0411000Z       ],
2026-06-17T06:47:32.0411258Z       "stages": {
2026-06-17T06:47:32.0411514Z         "doc": {
2026-06-17T06:47:32.0411791Z           "complete": true,
2026-06-17T06:47:32.0412048Z           "evidence": [
2026-06-17T06:47:32.0412308Z             {
2026-06-17T06:47:32.0413003Z               "path": "docs/adr/0020-event-envelope-sole-arriving-format-reply-to-removed.md",
2026-06-17T06:47:32.0413280Z               "line": 47
2026-06-17T06:47:32.0413538Z             }
2026-06-17T06:47:32.0413795Z           ]
2026-06-17T06:47:32.0414052Z         },
2026-06-17T06:47:32.0414314Z         "impl": {
2026-06-17T06:47:32.0414600Z           "complete": true,
2026-06-17T06:47:32.0414870Z           "evidence": [
2026-06-17T06:47:32.0415122Z             {
2026-06-17T06:47:32.0415461Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-17T06:47:32.0415738Z               "line": 20
2026-06-17T06:47:32.0416004Z             },
2026-06-17T06:47:32.0416266Z             {
2026-06-17T06:47:32.0416604Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-17T06:47:32.0416867Z               "line": 33
2026-06-17T06:47:32.0417124Z             },
2026-06-17T06:47:32.0417383Z             {
2026-06-17T06:47:32.0417711Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-17T06:47:32.0417982Z               "line": 47
2026-06-17T06:47:32.0418249Z             },
2026-06-17T06:47:32.0418510Z             {
2026-06-17T06:47:32.0418839Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-17T06:47:32.0419198Z               "line": 58
2026-06-17T06:47:32.0419460Z             },
2026-06-17T06:47:32.0419712Z             {
2026-06-17T06:47:32.0420034Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-17T06:47:32.0420311Z               "line": 14
2026-06-17T06:47:32.0420678Z             },
2026-06-17T06:47:32.0420926Z             {
2026-06-17T06:47:32.0421245Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-17T06:47:32.0421517Z               "line": 27
2026-06-17T06:47:32.0421774Z             },
2026-06-17T06:47:32.0422036Z             {
2026-06-17T06:47:32.0422356Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-17T06:47:32.0422626Z               "line": 40
2026-06-17T06:47:32.0422883Z             },
2026-06-17T06:47:32.0423140Z             {
2026-06-17T06:47:32.0423601Z               "path": "crates/spt-store/src/spool.rs",
2026-06-17T06:47:32.0423865Z               "line": 92
2026-06-17T06:47:32.0424122Z             },
2026-06-17T06:47:32.0424380Z             {
2026-06-17T06:47:32.0424738Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-17T06:47:32.0425004Z               "line": 143
2026-06-17T06:47:32.0425264Z             },
2026-06-17T06:47:32.0425520Z             {
2026-06-17T06:47:32.0425873Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-17T06:47:32.0426149Z               "line": 216
2026-06-17T06:47:32.0426412Z             },
2026-06-17T06:47:32.0426669Z             {
2026-06-17T06:47:32.0427003Z               "path": "crates/spt/src/api/startup.rs",
2026-06-17T06:47:32.0427276Z               "line": 408
2026-06-17T06:47:32.0427533Z             },
2026-06-17T06:47:32.0427785Z             {
2026-06-17T06:47:32.0428117Z               "path": "crates/spt/src/api/worker.rs",
2026-06-17T06:47:32.0428390Z               "line": 78
2026-06-17T06:47:32.0428657Z             },
2026-06-17T06:47:32.0428915Z             {
2026-06-17T06:47:32.0429300Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.0429573Z               "line": 2856
2026-06-17T06:47:32.0429835Z             }
2026-06-17T06:47:32.0430087Z           ]
2026-06-17T06:47:32.0430343Z         },
2026-06-17T06:47:32.0430604Z         "int": {
2026-06-17T06:47:32.0430876Z           "complete": true,
2026-06-17T06:47:32.0431148Z           "evidence": [
2026-06-17T06:47:32.0431405Z             {
2026-06-17T06:47:32.0431796Z               "path": "crates/spt/tests/poll_envelope_e2e.rs",
2026-06-17T06:47:32.0432063Z               "line": 15
2026-06-17T06:47:32.0432325Z             }
2026-06-17T06:47:32.0432577Z           ]
2026-06-17T06:47:32.0432820Z         },
2026-06-17T06:47:32.0433084Z         "unit": {
2026-06-17T06:47:32.0433363Z           "complete": true,
2026-06-17T06:47:32.0433638Z           "evidence": [
2026-06-17T06:47:32.0433890Z             {
2026-06-17T06:47:32.0434223Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-17T06:47:32.0434500Z               "line": 102
2026-06-17T06:47:32.0434753Z             },
2026-06-17T06:47:32.0435016Z             {
2026-06-17T06:47:32.0435345Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-17T06:47:32.0435613Z               "line": 137
2026-06-17T06:47:32.0435868Z             },
2026-06-17T06:47:32.0436127Z             {
2026-06-17T06:47:32.0436442Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-17T06:47:32.0436714Z               "line": 98
2026-06-17T06:47:32.0436977Z             },
2026-06-17T06:47:32.0437230Z             {
2026-06-17T06:47:32.0437563Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-17T06:47:32.0437841Z               "line": 106
2026-06-17T06:47:32.0438093Z             },
2026-06-17T06:47:32.0438359Z             {
2026-06-17T06:47:32.0438686Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-17T06:47:32.0439035Z               "line": 113
2026-06-17T06:47:32.0439288Z             },
2026-06-17T06:47:32.0439551Z             {
2026-06-17T06:47:32.0439860Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-17T06:47:32.0440128Z               "line": 122
2026-06-17T06:47:32.0440386Z             }
2026-06-17T06:47:32.0440633Z           ]
2026-06-17T06:47:32.0440884Z         }
2026-06-17T06:47:32.0441136Z       }
2026-06-17T06:47:32.0441378Z     },
2026-06-17T06:47:32.0441630Z     {
2026-06-17T06:47:32.0441902Z       "id": "REQ-NET-1",
2026-06-17T06:47:32.0442561Z       "title": "WAN messaging first-class, behind default-on net feature flag",
2026-06-17T06:47:32.0442841Z       "requiredStages": [
2026-06-17T06:47:32.0443104Z         "impl",
2026-06-17T06:47:32.0443362Z         "unit",
2026-06-17T06:47:32.0443615Z         "int"
2026-06-17T06:47:32.0443880Z       ],
2026-06-17T06:47:32.0444135Z       "stages": {
2026-06-17T06:47:32.0444393Z         "doc": {
2026-06-17T06:47:32.0444675Z           "complete": false,
2026-06-17T06:47:32.0445069Z           "evidence": []
2026-06-17T06:47:32.0445328Z         },
2026-06-17T06:47:32.0445599Z         "impl": {
2026-06-17T06:47:32.0454364Z           "complete": true,
2026-06-17T06:47:32.0454719Z           "evidence": [
2026-06-17T06:47:32.0454981Z             {
2026-06-17T06:47:32.0455368Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-17T06:47:32.0455653Z               "line": 54
2026-06-17T06:47:32.0455944Z             },
2026-06-17T06:47:32.0456211Z             {
2026-06-17T06:47:32.0456607Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-17T06:47:32.0456873Z               "line": 594
2026-06-17T06:47:32.0457130Z             },
2026-06-17T06:47:32.0457382Z             {
2026-06-17T06:47:32.0457725Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-17T06:47:32.0457973Z               "line": 130
2026-06-17T06:47:32.0458225Z             },
2026-06-17T06:47:32.0458483Z             {
2026-06-17T06:47:32.0458840Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-17T06:47:32.0459228Z               "line": 97
2026-06-17T06:47:32.0459484Z             },
2026-06-17T06:47:32.0459741Z             {
2026-06-17T06:47:32.0460103Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-17T06:47:32.0460365Z               "line": 159
2026-06-17T06:47:32.0460623Z             },
2026-06-17T06:47:32.0460877Z             {
2026-06-17T06:47:32.0461238Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-17T06:47:32.0461506Z               "line": 175
2026-06-17T06:47:32.0461767Z             },
2026-06-17T06:47:32.0462024Z             {
2026-06-17T06:47:32.0462388Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-17T06:47:32.0462651Z               "line": 190
2026-06-17T06:47:32.0462908Z             },
2026-06-17T06:47:32.0463166Z             {
2026-06-17T06:47:32.0467572Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-17T06:47:32.0483823Z               "line": 271
2026-06-17T06:47:32.0484152Z             },
2026-06-17T06:47:32.0484471Z             {
2026-06-17T06:47:32.0484939Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-17T06:47:32.0485259Z               "line": 306
2026-06-17T06:47:32.0485569Z             },
2026-06-17T06:47:32.0485870Z             {
2026-06-17T06:47:32.0486324Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-17T06:47:32.0486629Z               "line": 312
2026-06-17T06:47:32.0486938Z             },
2026-06-17T06:47:32.0487244Z             {
2026-06-17T06:47:32.0487692Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-17T06:47:32.0488017Z               "line": 318
2026-06-17T06:47:32.0488312Z             },
2026-06-17T06:47:32.0488606Z             {
2026-06-17T06:47:32.0489153Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-17T06:47:32.0489482Z               "line": 334
2026-06-17T06:47:32.0489806Z             },
2026-06-17T06:47:32.0490106Z             {
2026-06-17T06:47:32.0490540Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-17T06:47:32.0490864Z               "line": 354
2026-06-17T06:47:32.0491174Z             },
2026-06-17T06:47:32.0491478Z             {
2026-06-17T06:47:32.0491908Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-17T06:47:32.0492228Z               "line": 35
2026-06-17T06:47:32.0492528Z             },
2026-06-17T06:47:32.0492828Z             {
2026-06-17T06:47:32.0493234Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-17T06:47:32.0493719Z               "line": 85
2026-06-17T06:47:32.0493978Z             },
2026-06-17T06:47:32.0494227Z             {
2026-06-17T06:47:32.0494555Z               "path": "crates/spt-store/src/spool.rs",
2026-06-17T06:47:32.0494804Z               "line": 138
2026-06-17T06:47:32.0495046Z             },
2026-06-17T06:47:32.0495289Z             {
2026-06-17T06:47:32.0495590Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.0495857Z               "line": 2698
2026-06-17T06:47:32.0496204Z             },
2026-06-17T06:47:32.0496463Z             {
2026-06-17T06:47:32.0496771Z               "path": "crates/spt/src/wansend.rs",
2026-06-17T06:47:32.0497036Z               "line": 17
2026-06-17T06:47:32.0497284Z             }
2026-06-17T06:47:32.0497532Z           ]
2026-06-17T06:47:32.0497781Z         },
2026-06-17T06:47:32.0498043Z         "int": {
2026-06-17T06:47:32.0498315Z           "complete": true,
2026-06-17T06:47:32.0498577Z           "evidence": [
2026-06-17T06:47:32.0498829Z             {
2026-06-17T06:47:32.0499347Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-17T06:47:32.0499622Z               "line": 341
2026-06-17T06:47:32.0499874Z             },
2026-06-17T06:47:32.0500118Z             {
2026-06-17T06:47:32.0500485Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-17T06:47:32.0500747Z               "line": 673
2026-06-17T06:47:32.0501010Z             },
2026-06-17T06:47:32.0501258Z             {
2026-06-17T06:47:32.0501615Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-17T06:47:32.0501883Z               "line": 971
2026-06-17T06:47:32.0502129Z             }
2026-06-17T06:47:32.0502372Z           ]
2026-06-17T06:47:32.0502616Z         },
2026-06-17T06:47:32.0502873Z         "unit": {
2026-06-17T06:47:32.0503131Z           "complete": true,
2026-06-17T06:47:32.0503383Z           "evidence": [
2026-06-17T06:47:32.0503635Z             {
2026-06-17T06:47:32.0503984Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-17T06:47:32.0504245Z               "line": 651
2026-06-17T06:47:32.0504497Z             },
2026-06-17T06:47:32.0504754Z             {
2026-06-17T06:47:32.0505111Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-17T06:47:32.0505383Z               "line": 686
2026-06-17T06:47:32.0505636Z             },
2026-06-17T06:47:32.0505887Z             {
2026-06-17T06:47:32.0506255Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-17T06:47:32.0506522Z               "line": 936
2026-06-17T06:47:32.0506779Z             },
2026-06-17T06:47:32.0507028Z             {
2026-06-17T06:47:32.0507387Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-17T06:47:32.0507659Z               "line": 201
2026-06-17T06:47:32.0507907Z             },
2026-06-17T06:47:32.0508158Z             {
2026-06-17T06:47:32.0508507Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-17T06:47:32.0508769Z               "line": 442
2026-06-17T06:47:32.0509137Z             },
2026-06-17T06:47:32.0509404Z             {
2026-06-17T06:47:32.0509755Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-17T06:47:32.0510015Z               "line": 456
2026-06-17T06:47:32.0510273Z             },
2026-06-17T06:47:32.0510521Z             {
2026-06-17T06:47:32.0510879Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-17T06:47:32.0511137Z               "line": 475
2026-06-17T06:47:32.0511384Z             },
2026-06-17T06:47:32.0511627Z             {
2026-06-17T06:47:32.0511970Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-17T06:47:32.0512232Z               "line": 120
2026-06-17T06:47:32.0512485Z             },
2026-06-17T06:47:32.0512728Z             {
2026-06-17T06:47:32.0513062Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-17T06:47:32.0513314Z               "line": 163
2026-06-17T06:47:32.0513561Z             },
2026-06-17T06:47:32.0513805Z             {
2026-06-17T06:47:32.0514144Z               "path": "crates/spt-store/src/spool.rs",
2026-06-17T06:47:32.0514520Z               "line": 530
2026-06-17T06:47:32.0514773Z             },
2026-06-17T06:47:32.0515015Z             {
2026-06-17T06:47:32.0515324Z               "path": "crates/spt/src/wansend.rs",
2026-06-17T06:47:32.0515590Z               "line": 616
2026-06-17T06:47:32.0515837Z             },
2026-06-17T06:47:32.0516086Z             {
2026-06-17T06:47:32.0516391Z               "path": "crates/spt/src/wansend.rs",
2026-06-17T06:47:32.0516658Z               "line": 1006
2026-06-17T06:47:32.0517005Z             }
2026-06-17T06:47:32.0517245Z           ]
2026-06-17T06:47:32.0517489Z         }
2026-06-17T06:47:32.0517734Z       }
2026-06-17T06:47:32.0517975Z     },
2026-06-17T06:47:32.0518214Z     {
2026-06-17T06:47:32.0518482Z       "id": "REQ-NET-2",
2026-06-17T06:47:32.0519125Z       "title": "n0 relay default + self-host knob + plain-language disclosure",
2026-06-17T06:47:32.0519407Z       "requiredStages": [
2026-06-17T06:47:32.0519663Z         "impl"
2026-06-17T06:47:32.0519916Z       ],
2026-06-17T06:47:32.0520178Z       "stages": {
2026-06-17T06:47:32.0520420Z         "doc": {
2026-06-17T06:47:32.0520690Z           "complete": false,
2026-06-17T06:47:32.0520951Z           "evidence": []
2026-06-17T06:47:32.0521199Z         },
2026-06-17T06:47:32.0521448Z         "impl": {
2026-06-17T06:47:32.0521716Z           "complete": true,
2026-06-17T06:47:32.0521978Z           "evidence": [
2026-06-17T06:47:32.0522220Z             {
2026-06-17T06:47:32.0522589Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-17T06:47:32.0522850Z               "line": 57
2026-06-17T06:47:32.0523097Z             },
2026-06-17T06:47:32.0523331Z             {
2026-06-17T06:47:32.0523693Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-17T06:47:32.0523951Z               "line": 71
2026-06-17T06:47:32.0524189Z             },
2026-06-17T06:47:32.0524436Z             {
2026-06-17T06:47:32.0524789Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-17T06:47:32.0525052Z               "line": 81
2026-06-17T06:47:32.0525304Z             },
2026-06-17T06:47:32.0525546Z             {
2026-06-17T06:47:32.0525907Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-17T06:47:32.0526160Z               "line": 159
2026-06-17T06:47:32.0526412Z             },
2026-06-17T06:47:32.0526655Z             {
2026-06-17T06:47:32.0527007Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-17T06:47:32.0527270Z               "line": 175
2026-06-17T06:47:32.0527523Z             },
2026-06-17T06:47:32.0527763Z             {
2026-06-17T06:47:32.0528116Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-17T06:47:32.0528381Z               "line": 190
2026-06-17T06:47:32.0528630Z             }
2026-06-17T06:47:32.0528883Z           ]
2026-06-17T06:47:32.0529231Z         },
2026-06-17T06:47:32.0529490Z         "int": {
2026-06-17T06:47:32.0529766Z           "complete": false,
2026-06-17T06:47:32.0530024Z           "evidence": []
2026-06-17T06:47:32.0530272Z         },
2026-06-17T06:47:32.0530519Z         "unit": {
2026-06-17T06:47:32.0530794Z           "complete": true,
2026-06-17T06:47:32.0531060Z           "evidence": [
2026-06-17T06:47:32.0531303Z             {
2026-06-17T06:47:32.0531646Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-17T06:47:32.0531904Z               "line": 402
2026-06-17T06:47:32.0532156Z             }
2026-06-17T06:47:32.0532413Z           ]
2026-06-17T06:47:32.0532666Z         }
2026-06-17T06:47:32.0532924Z       }
2026-06-17T06:47:32.0533177Z     },
2026-06-17T06:47:32.0533420Z     {
2026-06-17T06:47:32.0533671Z       "id": "REQ-NET-3",
2026-06-17T06:47:32.0534168Z       "title": "Cross-node Psyche sync over P2P replaces gh-repo-sync",
2026-06-17T06:47:32.0534449Z       "requiredStages": [
2026-06-17T06:47:32.0534705Z         "impl",
2026-06-17T06:47:32.0534958Z         "unit"
2026-06-17T06:47:32.0535192Z       ],
2026-06-17T06:47:32.0535446Z       "stages": {
2026-06-17T06:47:32.0535812Z         "doc": {
2026-06-17T06:47:32.0536088Z           "complete": false,
2026-06-17T06:47:32.0536357Z           "evidence": []
2026-06-17T06:47:32.0536600Z         },
2026-06-17T06:47:32.0536853Z         "impl": {
2026-06-17T06:47:32.0537121Z           "complete": true,
2026-06-17T06:47:32.0537378Z           "evidence": [
2026-06-17T06:47:32.0537630Z             {
2026-06-17T06:47:32.0537960Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-17T06:47:32.0538226Z               "line": 39
2026-06-17T06:47:32.0538571Z             },
2026-06-17T06:47:32.0538816Z             {
2026-06-17T06:47:32.0539210Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-17T06:47:32.0539462Z               "line": 182
2026-06-17T06:47:32.0539707Z             },
2026-06-17T06:47:32.0539959Z             {
2026-06-17T06:47:32.0540284Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-17T06:47:32.0540541Z               "line": 333
2026-06-17T06:47:32.0540783Z             },
2026-06-17T06:47:32.0541031Z             {
2026-06-17T06:47:32.0541369Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-17T06:47:32.0541625Z               "line": 36
2026-06-17T06:47:32.0541868Z             },
2026-06-17T06:47:32.0542115Z             {
2026-06-17T06:47:32.0542478Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-17T06:47:32.0542735Z               "line": 158
2026-06-17T06:47:32.0542978Z             },
2026-06-17T06:47:32.0543231Z             {
2026-06-17T06:47:32.0543589Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-17T06:47:32.0543842Z               "line": 212
2026-06-17T06:47:32.0544095Z             },
2026-06-17T06:47:32.0544336Z             {
2026-06-17T06:47:32.0544699Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-17T06:47:32.0544960Z               "line": 233
2026-06-17T06:47:32.0545208Z             },
2026-06-17T06:47:32.0545457Z             {
2026-06-17T06:47:32.0545805Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-17T06:47:32.0546072Z               "line": 291
2026-06-17T06:47:32.0546321Z             },
2026-06-17T06:47:32.0546581Z             {
2026-06-17T06:47:32.0546931Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-17T06:47:32.0547193Z               "line": 310
2026-06-17T06:47:32.0547446Z             },
2026-06-17T06:47:32.0547695Z             {
2026-06-17T06:47:32.0548052Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-17T06:47:32.0548319Z               "line": 348
2026-06-17T06:47:32.0548573Z             },
2026-06-17T06:47:32.0548821Z             {
2026-06-17T06:47:32.0549301Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-17T06:47:32.0549571Z               "line": 393
2026-06-17T06:47:32.0549808Z             },
2026-06-17T06:47:32.0550060Z             {
2026-06-17T06:47:32.0550423Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-17T06:47:32.0550699Z               "line": 406
2026-06-17T06:47:32.0550981Z             },
2026-06-17T06:47:32.0551238Z             {
2026-06-17T06:47:32.0551586Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-17T06:47:32.0551845Z               "line": 29
2026-06-17T06:47:32.0552091Z             },
2026-06-17T06:47:32.0552336Z             {
2026-06-17T06:47:32.0552685Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-17T06:47:32.0552937Z               "line": 72
2026-06-17T06:47:32.0553200Z             },
2026-06-17T06:47:32.0553462Z             {
2026-06-17T06:47:32.0553806Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-17T06:47:32.0554063Z               "line": 123
2026-06-17T06:47:32.0554312Z             }
2026-06-17T06:47:32.0554559Z           ]
2026-06-17T06:47:32.0554801Z         },
2026-06-17T06:47:32.0555055Z         "int": {
2026-06-17T06:47:32.0555354Z           "complete": false,
2026-06-17T06:47:32.0555641Z           "evidence": []
2026-06-17T06:47:32.0555918Z         },
2026-06-17T06:47:32.0556194Z         "unit": {
2026-06-17T06:47:32.0556600Z           "complete": true,
2026-06-17T06:47:32.0556886Z           "evidence": [
2026-06-17T06:47:32.0557156Z             {
2026-06-17T06:47:32.0557535Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-17T06:47:32.0557821Z               "line": 223
2026-06-17T06:47:32.0558126Z             },
2026-06-17T06:47:32.0558388Z             {
2026-06-17T06:47:32.0558775Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-17T06:47:32.0559208Z               "line": 351
2026-06-17T06:47:32.0559753Z             },
2026-06-17T06:47:32.0560056Z             {
2026-06-17T06:47:32.0560426Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-17T06:47:32.0560708Z               "line": 504
2026-06-17T06:47:32.0560974Z             },
2026-06-17T06:47:32.0561250Z             {
2026-06-17T06:47:32.0561813Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-17T06:47:32.0562099Z               "line": 93
2026-06-17T06:47:32.0562381Z             },
2026-06-17T06:47:32.0562651Z             {
2026-06-17T06:47:32.0563008Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-17T06:47:32.0563293Z               "line": 142
2026-06-17T06:47:32.0563555Z             },
2026-06-17T06:47:32.0563816Z             {
2026-06-17T06:47:32.0564184Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-17T06:47:32.0564456Z               "line": 315
2026-06-17T06:47:32.0564719Z             },
2026-06-17T06:47:32.0564985Z             {
2026-06-17T06:47:32.0565352Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-17T06:47:32.0565634Z               "line": 355
2026-06-17T06:47:32.0565958Z             },
2026-06-17T06:47:32.0566229Z             {
2026-06-17T06:47:32.0566596Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-17T06:47:32.0566878Z               "line": 494
2026-06-17T06:47:32.0567141Z             }
2026-06-17T06:47:32.0567398Z           ]
2026-06-17T06:47:32.0567667Z         }
2026-06-17T06:47:32.0567937Z       }
2026-06-17T06:47:32.0568195Z     },
2026-06-17T06:47:32.0568491Z     {
2026-06-17T06:47:32.0568839Z       "id": "REQ-NODE-IDENTITY",
2026-06-17T06:47:32.0569778Z       "title": "Ed25519 identity primitive: keypair, detached sign/verify, stable pubkey<->hex",
2026-06-17T06:47:32.0570130Z       "requiredStages": [
2026-06-17T06:47:32.0570459Z         "impl",
2026-06-17T06:47:32.0570795Z         "unit"
2026-06-17T06:47:32.0571100Z       ],
2026-06-17T06:47:32.0571419Z       "stages": {
2026-06-17T06:47:32.0571739Z         "doc": {
2026-06-17T06:47:32.0572087Z           "complete": false,
2026-06-17T06:47:32.0572406Z           "evidence": []
2026-06-17T06:47:32.0572721Z         },
2026-06-17T06:47:32.0573045Z         "impl": {
2026-06-17T06:47:32.0573376Z           "complete": true,
2026-06-17T06:47:32.0573710Z           "evidence": [
2026-06-17T06:47:32.0574015Z             {
2026-06-17T06:47:32.0574450Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-17T06:47:32.0574769Z               "line": 60
2026-06-17T06:47:32.0575084Z             },
2026-06-17T06:47:32.0575399Z             {
2026-06-17T06:47:32.0575823Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-17T06:47:32.0576156Z               "line": 68
2026-06-17T06:47:32.0576475Z             },
2026-06-17T06:47:32.0576799Z             {
2026-06-17T06:47:32.0577232Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-17T06:47:32.0577561Z               "line": 86
2026-06-17T06:47:32.0577876Z             },
2026-06-17T06:47:32.0578190Z             {
2026-06-17T06:47:32.0578608Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-17T06:47:32.0579155Z               "line": 120
2026-06-17T06:47:32.0579489Z             },
2026-06-17T06:47:32.0579799Z             {
2026-06-17T06:47:32.0580220Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-17T06:47:32.0580554Z               "line": 127
2026-06-17T06:47:32.0580869Z             },
2026-06-17T06:47:32.0581186Z             {
2026-06-17T06:47:32.0581736Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-17T06:47:32.0582065Z               "line": 143
2026-06-17T06:47:32.0582385Z             },
2026-06-17T06:47:32.0582700Z             {
2026-06-17T06:47:32.0583111Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-17T06:47:32.0583440Z               "line": 16
2026-06-17T06:47:32.0583753Z             }
2026-06-17T06:47:32.0584055Z           ]
2026-06-17T06:47:32.0584356Z         },
2026-06-17T06:47:32.0584756Z         "int": {
2026-06-17T06:47:32.0585085Z           "complete": false,
2026-06-17T06:47:32.0585391Z           "evidence": []
2026-06-17T06:47:32.0585683Z         },
2026-06-17T06:47:32.0585993Z         "unit": {
2026-06-17T06:47:32.0586308Z           "complete": true,
2026-06-17T06:47:32.0586625Z           "evidence": [
2026-06-17T06:47:32.0586930Z             {
2026-06-17T06:47:32.0587345Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-17T06:47:32.0587664Z               "line": 199
2026-06-17T06:47:32.0587970Z             },
2026-06-17T06:47:32.0588275Z             {
2026-06-17T06:47:32.0588684Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-17T06:47:32.0589105Z               "line": 218
2026-06-17T06:47:32.0589429Z             },
2026-06-17T06:47:32.0589734Z             {
2026-06-17T06:47:32.0590145Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-17T06:47:32.0590456Z               "line": 234
2026-06-17T06:47:32.0590766Z             },
2026-06-17T06:47:32.0591066Z             {
2026-06-17T06:47:32.0591462Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-17T06:47:32.0591775Z               "line": 256
2026-06-17T06:47:32.0592077Z             },
2026-06-17T06:47:32.0592378Z             {
2026-06-17T06:47:32.0592774Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-17T06:47:32.0593089Z               "line": 124
2026-06-17T06:47:32.0593390Z             },
2026-06-17T06:47:32.0593685Z             {
2026-06-17T06:47:32.0594089Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-17T06:47:32.0594407Z               "line": 140
2026-06-17T06:47:32.0594717Z             },
2026-06-17T06:47:32.0595012Z             {
2026-06-17T06:47:32.0595412Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-17T06:47:32.0595722Z               "line": 155
2026-06-17T06:47:32.0596037Z             }
2026-06-17T06:47:32.0596346Z           ]
2026-06-17T06:47:32.0596651Z         }
2026-06-17T06:47:32.0596957Z       }
2026-06-17T06:47:32.0597257Z     },
2026-06-17T06:47:32.0597562Z     {
2026-06-17T06:47:32.0597886Z       "id": "REQ-NOTIF-1",
2026-06-17T06:47:32.0599159Z       "title": "Notification primitive: per-subnet replicated spool, seen/dismissed, resurface-at-boundary, subsumes update+consent prompts",
2026-06-17T06:47:32.0599510Z       "requiredStages": [
2026-06-17T06:47:32.0599819Z         "impl",
2026-06-17T06:47:32.0600129Z         "unit",
2026-06-17T06:47:32.0600439Z         "int"
2026-06-17T06:47:32.0600739Z       ],
2026-06-17T06:47:32.0601049Z       "stages": {
2026-06-17T06:47:32.0601364Z         "doc": {
2026-06-17T06:47:32.0601698Z           "complete": false,
2026-06-17T06:47:32.0602013Z           "evidence": []
2026-06-17T06:47:32.0602311Z         },
2026-06-17T06:47:32.0602614Z         "impl": {
2026-06-17T06:47:32.0602943Z           "complete": true,
2026-06-17T06:47:32.0603272Z           "evidence": [
2026-06-17T06:47:32.0603587Z             {
2026-06-17T06:47:32.0604020Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-17T06:47:32.0604349Z               "line": 514
2026-06-17T06:47:32.0604664Z             },
2026-06-17T06:47:32.0604976Z             {
2026-06-17T06:47:32.0605380Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-17T06:47:32.0605700Z               "line": 30
2026-06-17T06:47:32.0606024Z             },
2026-06-17T06:47:32.0606338Z             {
2026-06-17T06:47:32.0606740Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-17T06:47:32.0607079Z               "line": 69
2026-06-17T06:47:32.0607512Z             },
2026-06-17T06:47:32.0607832Z             {
2026-06-17T06:47:32.0608221Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-17T06:47:32.0608550Z               "line": 93
2026-06-17T06:47:32.0608865Z             },
2026-06-17T06:47:32.0609275Z             {
2026-06-17T06:47:32.0609705Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-17T06:47:32.0610018Z               "line": 107
2026-06-17T06:47:32.0610331Z             },
2026-06-17T06:47:32.0610746Z             {
2026-06-17T06:47:32.0611146Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-17T06:47:32.0611470Z               "line": 142
2026-06-17T06:47:32.0611775Z             },
2026-06-17T06:47:32.0612081Z             {
2026-06-17T06:47:32.0612467Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-17T06:47:32.0612790Z               "line": 187
2026-06-17T06:47:32.0613087Z             },
2026-06-17T06:47:32.0613392Z             {
2026-06-17T06:47:32.0613799Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-17T06:47:32.0614094Z               "line": 258
2026-06-17T06:47:32.0614390Z             },
2026-06-17T06:47:32.0614685Z             {
2026-06-17T06:47:32.0615068Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-17T06:47:32.0615385Z               "line": 372
2026-06-17T06:47:32.0615692Z             },
2026-06-17T06:47:32.0615993Z             {
2026-06-17T06:47:32.0616385Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-17T06:47:32.0616709Z               "line": 479
2026-06-17T06:47:32.0617000Z             },
2026-06-17T06:47:32.0617300Z             {
2026-06-17T06:47:32.0617711Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-17T06:47:32.0618031Z               "line": 24
2026-06-17T06:47:32.0618334Z             },
2026-06-17T06:47:32.0618629Z             {
2026-06-17T06:47:32.0619106Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-17T06:47:32.0619416Z               "line": 34
2026-06-17T06:47:32.0619731Z             },
2026-06-17T06:47:32.0620030Z             {
2026-06-17T06:47:32.0620440Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-17T06:47:32.0620757Z               "line": 60
2026-06-17T06:47:32.0621053Z             },
2026-06-17T06:47:32.0621353Z             {
2026-06-17T06:47:32.0621753Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-17T06:47:32.0622063Z               "line": 82
2026-06-17T06:47:32.0622364Z             },
2026-06-17T06:47:32.0622650Z             {
2026-06-17T06:47:32.0623056Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-17T06:47:32.0623374Z               "line": 94
2026-06-17T06:47:32.0623676Z             },
2026-06-17T06:47:32.0623962Z             {
2026-06-17T06:47:32.0624369Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-17T06:47:32.0624678Z               "line": 96
2026-06-17T06:47:32.0624979Z             },
2026-06-17T06:47:32.0625284Z             {
2026-06-17T06:47:32.0625704Z               "path": "crates/spt-daemon/src/pump/notif.rs",
2026-06-17T06:47:32.0626017Z               "line": 44
2026-06-17T06:47:32.0626306Z             },
2026-06-17T06:47:32.0626616Z             {
2026-06-17T06:47:32.0627017Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-17T06:47:32.0627326Z               "line": 20
2026-06-17T06:47:32.0627618Z             },
2026-06-17T06:47:32.0627913Z             {
2026-06-17T06:47:32.0628304Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-17T06:47:32.0628624Z               "line": 30
2026-06-17T06:47:32.0628913Z             },
2026-06-17T06:47:32.0629365Z             {
2026-06-17T06:47:32.0629761Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-17T06:47:32.0630081Z               "line": 50
2026-06-17T06:47:32.0630376Z             },
2026-06-17T06:47:32.0630672Z             {
2026-06-17T06:47:32.0631057Z               "path": "crates/spt-store/src/notif.rs",
2026-06-17T06:47:32.0631490Z               "line": 28
2026-06-17T06:47:32.0631790Z             },
2026-06-17T06:47:32.0632091Z             {
2026-06-17T06:47:32.0632481Z               "path": "crates/spt-store/src/notif.rs",
2026-06-17T06:47:32.0632790Z               "line": 126
2026-06-17T06:47:32.0633091Z             },
2026-06-17T06:47:32.0633392Z             {
2026-06-17T06:47:32.0633777Z               "path": "crates/spt-store/src/notif.rs",
2026-06-17T06:47:32.0634090Z               "line": 161
2026-06-17T06:47:32.0634494Z             },
2026-06-17T06:47:32.0634799Z             {
2026-06-17T06:47:32.0635180Z               "path": "crates/spt-store/src/notif.rs",
2026-06-17T06:47:32.0635500Z               "line": 202
2026-06-17T06:47:32.0635801Z             },
2026-06-17T06:47:32.0636102Z             {
2026-06-17T06:47:32.0636491Z               "path": "crates/spt-store/src/notif.rs",
2026-06-17T06:47:32.0636794Z               "line": 213
2026-06-17T06:47:32.0637099Z             },
2026-06-17T06:47:32.0637394Z             {
2026-06-17T06:47:32.0637796Z               "path": "crates/spt-store/src/notif.rs",
2026-06-17T06:47:32.0638110Z               "line": 238
2026-06-17T06:47:32.0638401Z             },
2026-06-17T06:47:32.0638696Z             {
2026-06-17T06:47:32.0639207Z               "path": "crates/spt-store/src/notif.rs",
2026-06-17T06:47:32.0639522Z               "line": 261
2026-06-17T06:47:32.0639817Z             },
2026-06-17T06:47:32.0640122Z             {
2026-06-17T06:47:32.0640532Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T06:47:32.0640851Z               "line": 82
2026-06-17T06:47:32.0641146Z             }
2026-06-17T06:47:32.0641442Z           ]
2026-06-17T06:47:32.0641746Z         },
2026-06-17T06:47:32.0642040Z         "int": {
2026-06-17T06:47:32.0642359Z           "complete": true,
2026-06-17T06:47:32.0642670Z           "evidence": [
2026-06-17T06:47:32.0642970Z             {
2026-06-17T06:47:32.0643399Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-17T06:47:32.0643717Z               "line": 285
2026-06-17T06:47:32.0644013Z             },
2026-06-17T06:47:32.0644295Z             {
2026-06-17T06:47:32.0644697Z               "path": "crates/spt-daemon/tests/pump.rs",
2026-06-17T06:47:32.0645007Z               "line": 145
2026-06-17T06:47:32.0645308Z             },
2026-06-17T06:47:32.0645637Z             {
2026-06-17T06:47:32.0646042Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-17T06:47:32.0646356Z               "line": 682
2026-06-17T06:47:32.0646652Z             },
2026-06-17T06:47:32.0646942Z             {
2026-06-17T06:47:32.0647354Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-17T06:47:32.0647673Z               "line": 1100
2026-06-17T06:47:32.0647973Z             }
2026-06-17T06:47:32.0648255Z           ]
2026-06-17T06:47:32.0648561Z         },
2026-06-17T06:47:32.0648856Z         "unit": {
2026-06-17T06:47:32.0649295Z           "complete": true,
2026-06-17T06:47:32.0649630Z           "evidence": [
2026-06-17T06:47:32.0649923Z             {
2026-06-17T06:47:32.0650314Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-17T06:47:32.0650620Z               "line": 572
2026-06-17T06:47:32.0650915Z             },
2026-06-17T06:47:32.0651201Z             {
2026-06-17T06:47:32.0651598Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-17T06:47:32.0651899Z               "line": 636
2026-06-17T06:47:32.0652192Z             },
2026-06-17T06:47:32.0652480Z             {
2026-06-17T06:47:32.0652857Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-17T06:47:32.0653182Z               "line": 740
2026-06-17T06:47:32.0653483Z             },
2026-06-17T06:47:32.0653787Z             {
2026-06-17T06:47:32.0654189Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-17T06:47:32.0654513Z               "line": 772
2026-06-17T06:47:32.0654818Z             },
2026-06-17T06:47:32.0655111Z             {
2026-06-17T06:47:32.0655496Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-17T06:47:32.0655943Z               "line": 840
2026-06-17T06:47:32.0656248Z             },
2026-06-17T06:47:32.0656554Z             {
2026-06-17T06:47:32.0656954Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-17T06:47:32.0657279Z               "line": 898
2026-06-17T06:47:32.0657582Z             },
2026-06-17T06:47:32.0657885Z             {
2026-06-17T06:47:32.0658267Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-17T06:47:32.0658582Z               "line": 1173
2026-06-17T06:47:32.0659097Z             },
2026-06-17T06:47:32.0659421Z             {
2026-06-17T06:47:32.0659865Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-17T06:47:32.0660185Z               "line": 157
2026-06-17T06:47:32.0660483Z             },
2026-06-17T06:47:32.0660783Z             {
2026-06-17T06:47:32.0661199Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-17T06:47:32.0661519Z               "line": 250
2026-06-17T06:47:32.0661820Z             },
2026-06-17T06:47:32.0662120Z             {
2026-06-17T06:47:32.0662534Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-17T06:47:32.0662861Z               "line": 273
2026-06-17T06:47:32.0663165Z             },
2026-06-17T06:47:32.0663461Z             {
2026-06-17T06:47:32.0663876Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-17T06:47:32.0664185Z               "line": 355
2026-06-17T06:47:32.0664485Z             },
2026-06-17T06:47:32.0664782Z             {
2026-06-17T06:47:32.0665220Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-17T06:47:32.0665538Z               "line": 392
2026-06-17T06:47:32.0665831Z             },
2026-06-17T06:47:32.0666118Z             {
2026-06-17T06:47:32.0666546Z               "path": "crates/spt-daemon/tests/notifsync.rs",
2026-06-17T06:47:32.0666866Z               "line": 131
2026-06-17T06:47:32.0667166Z             },
2026-06-17T06:47:32.0667462Z             {
2026-06-17T06:47:32.0667878Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-17T06:47:32.0668191Z               "line": 72
2026-06-17T06:47:32.0668488Z             },
2026-06-17T06:47:32.0668784Z             {
2026-06-17T06:47:32.0669328Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-17T06:47:32.0669643Z               "line": 97
2026-06-17T06:47:32.0669943Z             },
2026-06-17T06:47:32.0670234Z             {
2026-06-17T06:47:32.0670605Z               "path": "crates/spt-store/src/notif.rs",
2026-06-17T06:47:32.0670924Z               "line": 379
2026-06-17T06:47:32.0671216Z             },
2026-06-17T06:47:32.0671511Z             {
2026-06-17T06:47:32.0671893Z               "path": "crates/spt-store/src/notif.rs",
2026-06-17T06:47:32.0672207Z               "line": 417
2026-06-17T06:47:32.0672503Z             },
2026-06-17T06:47:32.0672789Z             {
2026-06-17T06:47:32.0673170Z               "path": "crates/spt-store/src/notif.rs",
2026-06-17T06:47:32.0673477Z               "line": 433
2026-06-17T06:47:32.0673774Z             },
2026-06-17T06:47:32.0674059Z             {
2026-06-17T06:47:32.0674450Z               "path": "crates/spt-store/src/notif.rs",
2026-06-17T06:47:32.0674765Z               "line": 472
2026-06-17T06:47:32.0675064Z             },
2026-06-17T06:47:32.0675342Z             {
2026-06-17T06:47:32.0675731Z               "path": "crates/spt-store/src/notif.rs",
2026-06-17T06:47:32.0676046Z               "line": 489
2026-06-17T06:47:32.0676340Z             },
2026-06-17T06:47:32.0676635Z             {
2026-06-17T06:47:32.0677035Z               "path": "crates/spt-store/src/notif.rs",
2026-06-17T06:47:32.0677341Z               "line": 517
2026-06-17T06:47:32.0677631Z             },
2026-06-17T06:47:32.0677922Z             {
2026-06-17T06:47:32.0678303Z               "path": "crates/spt-store/src/notif.rs",
2026-06-17T06:47:32.0678603Z               "line": 548
2026-06-17T06:47:32.0678897Z             },
2026-06-17T06:47:32.0679311Z             {
2026-06-17T06:47:32.0679707Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T06:47:32.0680132Z               "line": 741
2026-06-17T06:47:32.0680428Z             }
2026-06-17T06:47:32.0680719Z           ]
2026-06-17T06:47:32.0681014Z         }
2026-06-17T06:47:32.0681296Z       }
2026-06-17T06:47:32.0681584Z     },
2026-06-17T06:47:32.0681871Z     {
2026-06-17T06:47:32.0682190Z       "id": "REQ-NOTIF-2",
2026-06-17T06:47:32.0682968Z       "title": "spt notify (agent-issued subnet notif) + notif_command manifest seam (harness + shell adapters)",
2026-06-17T06:47:32.0683396Z       "requiredStages": [
2026-06-17T06:47:32.0683696Z         "doc",
2026-06-17T06:47:32.0683995Z         "impl",
2026-06-17T06:47:32.0684291Z         "unit",
2026-06-17T06:47:32.0684581Z         "int"
2026-06-17T06:47:32.0684872Z       ],
2026-06-17T06:47:32.0685168Z       "stages": {
2026-06-17T06:47:32.0685458Z         "doc": {
2026-06-17T06:47:32.0685782Z           "complete": true,
2026-06-17T06:47:32.0686083Z           "evidence": [
2026-06-17T06:47:32.0686378Z             {
2026-06-17T06:47:32.0686711Z               "path": "CONTEXT.md",
2026-06-17T06:47:32.0687013Z               "line": 461
2026-06-17T06:47:32.0687309Z             },
2026-06-17T06:47:32.0687595Z             {
2026-06-17T06:47:32.0687938Z               "path": "docs/MANIFEST.md",
2026-06-17T06:47:32.0688244Z               "line": 79
2026-06-17T06:47:32.0688529Z             }
2026-06-17T06:47:32.0688821Z           ]
2026-06-17T06:47:32.0693661Z         },
2026-06-17T06:47:32.0693999Z         "impl": {
2026-06-17T06:47:32.0694342Z           "complete": true,
2026-06-17T06:47:32.0694654Z           "evidence": [
2026-06-17T06:47:32.0694945Z             {
2026-06-17T06:47:32.0695345Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-17T06:47:32.0695650Z               "line": 287
2026-06-17T06:47:32.0695937Z             },
2026-06-17T06:47:32.0696223Z             {
2026-06-17T06:47:32.0696623Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-17T06:47:32.0696938Z               "line": 301
2026-06-17T06:47:32.0697228Z             },
2026-06-17T06:47:32.0697522Z             {
2026-06-17T06:47:32.0697912Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-17T06:47:32.0698217Z               "line": 326
2026-06-17T06:47:32.0698508Z             },
2026-06-17T06:47:32.0698804Z             {
2026-06-17T06:47:32.0699339Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T06:47:32.0699696Z               "line": 199
2026-06-17T06:47:32.0699990Z             },
2026-06-17T06:47:32.0700284Z             {
2026-06-17T06:47:32.0700685Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T06:47:32.0700995Z               "line": 91
2026-06-17T06:47:32.0701285Z             },
2026-06-17T06:47:32.0701576Z             {
2026-06-17T06:47:32.0701933Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.0702244Z               "line": 2024
2026-06-17T06:47:32.0702531Z             },
2026-06-17T06:47:32.0702820Z             {
2026-06-17T06:47:32.0703177Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.0703497Z               "line": 2073
2026-06-17T06:47:32.0703784Z             },
2026-06-17T06:47:32.0704060Z             {
2026-06-17T06:47:32.0704428Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.0704738Z               "line": 2152
2026-06-17T06:47:32.0705045Z             },
2026-06-17T06:47:32.0705329Z             {
2026-06-17T06:47:32.0705692Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.0706002Z               "line": 2191
2026-06-17T06:47:32.0706298Z             }
2026-06-17T06:47:32.0706588Z           ]
2026-06-17T06:47:32.0706868Z         },
2026-06-17T06:47:32.0707155Z         "int": {
2026-06-17T06:47:32.0707475Z           "complete": true,
2026-06-17T06:47:32.0707783Z           "evidence": [
2026-06-17T06:47:32.0708082Z             {
2026-06-17T06:47:32.0708496Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-17T06:47:32.0708811Z               "line": 808
2026-06-17T06:47:32.0709246Z             },
2026-06-17T06:47:32.0709688Z             {
2026-06-17T06:47:32.0710099Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-17T06:47:32.0710416Z               "line": 1343
2026-06-17T06:47:32.0710710Z             }
2026-06-17T06:47:32.0710996Z           ]
2026-06-17T06:47:32.0711278Z         },
2026-06-17T06:47:32.0711569Z         "unit": {
2026-06-17T06:47:32.0711893Z           "complete": true,
2026-06-17T06:47:32.0712193Z           "evidence": [
2026-06-17T06:47:32.0712489Z             {
2026-06-17T06:47:32.0712986Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-17T06:47:32.0713293Z               "line": 1022
2026-06-17T06:47:32.0713589Z             },
2026-06-17T06:47:32.0713875Z             {
2026-06-17T06:47:32.0714271Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-17T06:47:32.0714586Z               "line": 1090
2026-06-17T06:47:32.0714877Z             },
2026-06-17T06:47:32.0715153Z             {
2026-06-17T06:47:32.0715505Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.0715817Z               "line": 7472
2026-06-17T06:47:32.0716103Z             },
2026-06-17T06:47:32.0716399Z             {
2026-06-17T06:47:32.0716752Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.0717057Z               "line": 7527
2026-06-17T06:47:32.0717343Z             }
2026-06-17T06:47:32.0717629Z           ]
2026-06-17T06:47:32.0717925Z         }
2026-06-17T06:47:32.0718202Z       }
2026-06-17T06:47:32.0718492Z     },
2026-06-17T06:47:32.0718785Z     {
2026-06-17T06:47:32.0719224Z       "id": "REQ-PAIR-1",
2026-06-17T06:47:32.0719586Z       "title": "TOTP-seeded SPAKE2 pairing",
2026-06-17T06:47:32.0719896Z       "requiredStages": [
2026-06-17T06:47:32.0720191Z         "impl",
2026-06-17T06:47:32.0720487Z         "unit",
2026-06-17T06:47:32.0720769Z         "int"
2026-06-17T06:47:32.0721044Z       ],
2026-06-17T06:47:32.0721347Z       "stages": {
2026-06-17T06:47:32.0721642Z         "doc": {
2026-06-17T06:47:32.0721957Z           "complete": false,
2026-06-17T06:47:32.0722277Z           "evidence": []
2026-06-17T06:47:32.0722563Z         },
2026-06-17T06:47:32.0722858Z         "impl": {
2026-06-17T06:47:32.0723154Z           "complete": true,
2026-06-17T06:47:32.0723455Z           "evidence": [
2026-06-17T06:47:32.0723740Z             {
2026-06-17T06:47:32.0724159Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-17T06:47:32.0724464Z               "line": 27
2026-06-17T06:47:32.0724754Z             },
2026-06-17T06:47:32.0725055Z             {
2026-06-17T06:47:32.0725476Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-17T06:47:32.0725775Z               "line": 88
2026-06-17T06:47:32.0726069Z             },
2026-06-17T06:47:32.0726344Z             {
2026-06-17T06:47:32.0726774Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-17T06:47:32.0727064Z               "line": 110
2026-06-17T06:47:32.0727355Z             },
2026-06-17T06:47:32.0727631Z             {
2026-06-17T06:47:32.0728057Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-17T06:47:32.0728358Z               "line": 153
2026-06-17T06:47:32.0728638Z             },
2026-06-17T06:47:32.0728927Z             {
2026-06-17T06:47:32.0729478Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-17T06:47:32.0729784Z               "line": 182
2026-06-17T06:47:32.0730079Z             },
2026-06-17T06:47:32.0730356Z             {
2026-06-17T06:47:32.0730775Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-17T06:47:32.0731085Z               "line": 29
2026-06-17T06:47:32.0731376Z             },
2026-06-17T06:47:32.0731656Z             {
2026-06-17T06:47:32.0732116Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-17T06:47:32.0732426Z               "line": 31
2026-06-17T06:47:32.0732708Z             },
2026-06-17T06:47:32.0732989Z             {
2026-06-17T06:47:32.0733399Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-17T06:47:32.0733815Z               "line": 44
2026-06-17T06:47:32.0734101Z             },
2026-06-17T06:47:32.0734390Z             {
2026-06-17T06:47:32.0734805Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-17T06:47:32.0735106Z               "line": 171
2026-06-17T06:47:32.0735401Z             },
2026-06-17T06:47:32.0735682Z             {
2026-06-17T06:47:32.0736098Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-17T06:47:32.0736403Z               "line": 376
2026-06-17T06:47:32.0736792Z             }
2026-06-17T06:47:32.0737082Z           ]
2026-06-17T06:47:32.0737367Z         },
2026-06-17T06:47:32.0737658Z         "int": {
2026-06-17T06:47:32.0737964Z           "complete": true,
2026-06-17T06:47:32.0738273Z           "evidence": [
2026-06-17T06:47:32.0738549Z             {
2026-06-17T06:47:32.0739055Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-17T06:47:32.0739412Z               "line": 643
2026-06-17T06:47:32.0739710Z             },
2026-06-17T06:47:32.0740001Z             {
2026-06-17T06:47:32.0740396Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-17T06:47:32.0740701Z               "line": 885
2026-06-17T06:47:32.0740987Z             }
2026-06-17T06:47:32.0741278Z           ]
2026-06-17T06:47:32.0741565Z         },
2026-06-17T06:47:32.0741852Z         "unit": {
2026-06-17T06:47:32.0742155Z           "complete": true,
2026-06-17T06:47:32.0742457Z           "evidence": [
2026-06-17T06:47:32.0742753Z             {
2026-06-17T06:47:32.0743178Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-17T06:47:32.0743487Z               "line": 236
2026-06-17T06:47:32.0743779Z             },
2026-06-17T06:47:32.0744061Z             {
2026-06-17T06:47:32.0744474Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-17T06:47:32.0744775Z               "line": 349
2026-06-17T06:47:32.0745070Z             },
2026-06-17T06:47:32.0745346Z             {
2026-06-17T06:47:32.0745723Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-17T06:47:32.0746038Z               "line": 194
2026-06-17T06:47:32.0746324Z             },
2026-06-17T06:47:32.0746596Z             {
2026-06-17T06:47:32.0746968Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-17T06:47:32.0747267Z               "line": 216
2026-06-17T06:47:32.0747540Z             },
2026-06-17T06:47:32.0747822Z             {
2026-06-17T06:47:32.0748189Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-17T06:47:32.0748490Z               "line": 230
2026-06-17T06:47:32.0748780Z             },
2026-06-17T06:47:32.0749173Z             {
2026-06-17T06:47:32.0749549Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-17T06:47:32.0749850Z               "line": 242
2026-06-17T06:47:32.0750129Z             },
2026-06-17T06:47:32.0750422Z             {
2026-06-17T06:47:32.0750790Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-17T06:47:32.0751071Z               "line": 256
2026-06-17T06:47:32.0751332Z             },
2026-06-17T06:47:32.0751542Z             {
2026-06-17T06:47:32.0751843Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-17T06:47:32.0752059Z               "line": 270
2026-06-17T06:47:32.0752248Z             },
2026-06-17T06:47:32.0752431Z             {
2026-06-17T06:47:32.0752710Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-17T06:47:32.0752912Z               "line": 277
2026-06-17T06:47:32.0753109Z             },
2026-06-17T06:47:32.0753299Z             {
2026-06-17T06:47:32.0753570Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-17T06:47:32.0753757Z               "line": 295
2026-06-17T06:47:32.0753933Z             },
2026-06-17T06:47:32.0754114Z             {
2026-06-17T06:47:32.0754367Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-17T06:47:32.0754548Z               "line": 968
2026-06-17T06:47:32.0754729Z             },
2026-06-17T06:47:32.0755039Z             {
2026-06-17T06:47:32.0755303Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-17T06:47:32.0755486Z               "line": 1051
2026-06-17T06:47:32.0755669Z             },
2026-06-17T06:47:32.0755839Z             {
2026-06-17T06:47:32.0756106Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-17T06:47:32.0756293Z               "line": 1121
2026-06-17T06:47:32.0756459Z             },
2026-06-17T06:47:32.0756631Z             {
2026-06-17T06:47:32.0756974Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-17T06:47:32.0757171Z               "line": 1182
2026-06-17T06:47:32.0757355Z             },
2026-06-17T06:47:32.0757529Z             {
2026-06-17T06:47:32.0757779Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-17T06:47:32.0757968Z               "line": 1238
2026-06-17T06:47:32.0758154Z             },
2026-06-17T06:47:32.0758325Z             {
2026-06-17T06:47:32.0758588Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-17T06:47:32.0758759Z               "line": 1457
2026-06-17T06:47:32.0758902Z             }
2026-06-17T06:47:32.0759189Z           ]
2026-06-17T06:47:32.0759345Z         }
2026-06-17T06:47:32.0759489Z       }
2026-06-17T06:47:32.0759636Z     },
2026-06-17T06:47:32.0759785Z     {
2026-06-17T06:47:32.0759956Z       "id": "REQ-PAIR-2",
2026-06-17T06:47:32.0760189Z       "title": "Local trust store with TOFU + warn-on-change",
2026-06-17T06:47:32.0760372Z       "requiredStages": [],
2026-06-17T06:47:32.0760532Z       "stages": {
2026-06-17T06:47:32.0760689Z         "doc": {
2026-06-17T06:47:32.0760859Z           "complete": false,
2026-06-17T06:47:32.0761025Z           "evidence": []
2026-06-17T06:47:32.0761178Z         },
2026-06-17T06:47:32.0761336Z         "impl": {
2026-06-17T06:47:32.0761516Z           "complete": false,
2026-06-17T06:47:32.0761674Z           "evidence": []
2026-06-17T06:47:32.0761831Z         },
2026-06-17T06:47:32.0761984Z         "int": {
2026-06-17T06:47:32.0762170Z           "complete": false,
2026-06-17T06:47:32.0762333Z           "evidence": []
2026-06-17T06:47:32.0762485Z         },
2026-06-17T06:47:32.0762638Z         "unit": {
2026-06-17T06:47:32.0762804Z           "complete": false,
2026-06-17T06:47:32.0762972Z           "evidence": []
2026-06-17T06:47:32.0763113Z         }
2026-06-17T06:47:32.0763265Z       }
2026-06-17T06:47:32.0763402Z     },
2026-06-17T06:47:32.0763544Z     {
2026-06-17T06:47:32.0763712Z       "id": "REQ-PAIR-3",
2026-06-17T06:47:32.0763964Z       "title": "Fetch current pairing code from any paired node",
2026-06-17T06:47:32.0764145Z       "requiredStages": [
2026-06-17T06:47:32.0764289Z         "impl",
2026-06-17T06:47:32.0764445Z         "unit"
2026-06-17T06:47:32.0764594Z       ],
2026-06-17T06:47:32.0764745Z       "stages": {
2026-06-17T06:47:32.0764905Z         "doc": {
2026-06-17T06:47:32.0765070Z           "complete": false,
2026-06-17T06:47:32.0765243Z           "evidence": []
2026-06-17T06:47:32.0765394Z         },
2026-06-17T06:47:32.0765558Z         "impl": {
2026-06-17T06:47:32.0765723Z           "complete": true,
2026-06-17T06:47:32.0765891Z           "evidence": [
2026-06-17T06:47:32.0766051Z             {
2026-06-17T06:47:32.0766243Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.0766418Z               "line": 2983
2026-06-17T06:47:32.0766567Z             },
2026-06-17T06:47:32.0766723Z             {
2026-06-17T06:47:32.0766910Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.0767072Z               "line": 3052
2026-06-17T06:47:32.0767234Z             },
2026-06-17T06:47:32.0767377Z             {
2026-06-17T06:47:32.0767563Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.0767716Z               "line": 3433
2026-06-17T06:47:32.0767868Z             },
2026-06-17T06:47:32.0768011Z             {
2026-06-17T06:47:32.0768192Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.0768363Z               "line": 4678
2026-06-17T06:47:32.0768622Z             }
2026-06-17T06:47:32.0768781Z           ]
2026-06-17T06:47:32.0768927Z         },
2026-06-17T06:47:32.0769209Z         "int": {
2026-06-17T06:47:32.0769386Z           "complete": false,
2026-06-17T06:47:32.0769543Z           "evidence": []
2026-06-17T06:47:32.0769696Z         },
2026-06-17T06:47:32.0769848Z         "unit": {
2026-06-17T06:47:32.0770007Z           "complete": true,
2026-06-17T06:47:32.0770163Z           "evidence": [
2026-06-17T06:47:32.0770317Z             {
2026-06-17T06:47:32.0770608Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.0770768Z               "line": 9188
2026-06-17T06:47:32.0770917Z             },
2026-06-17T06:47:32.0771069Z             {
2026-06-17T06:47:32.0771254Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.0771419Z               "line": 9403
2026-06-17T06:47:32.0771566Z             },
2026-06-17T06:47:32.0771710Z             {
2026-06-17T06:47:32.0771891Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.0772053Z               "line": 10045
2026-06-17T06:47:32.0772201Z             },
2026-06-17T06:47:32.0772349Z             {
2026-06-17T06:47:32.0772520Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.0772682Z               "line": 10064
2026-06-17T06:47:32.0772835Z             },
2026-06-17T06:47:32.0772982Z             {
2026-06-17T06:47:32.0773170Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.0773330Z               "line": 10088
2026-06-17T06:47:32.0773485Z             },
2026-06-17T06:47:32.0773626Z             {
2026-06-17T06:47:32.0773816Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.0773990Z               "line": 10107
2026-06-17T06:47:32.0774143Z             },
2026-06-17T06:47:32.0774291Z             {
2026-06-17T06:47:32.0774472Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.0774638Z               "line": 10120
2026-06-17T06:47:32.0774787Z             },
2026-06-17T06:47:32.0774939Z             {
2026-06-17T06:47:32.0775116Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.0775277Z               "line": 10129
2026-06-17T06:47:32.0775436Z             }
2026-06-17T06:47:32.0775578Z           ]
2026-06-17T06:47:32.0775722Z         }
2026-06-17T06:47:32.0775873Z       }
2026-06-17T06:47:32.0776022Z     },
2026-06-17T06:47:32.0776178Z     {
2026-06-17T06:47:32.0776347Z       "id": "REQ-PAIR-4",
2026-06-17T06:47:32.0776545Z       "title": "Subnet naming on first pairing",
2026-06-17T06:47:32.0776717Z       "requiredStages": [
2026-06-17T06:47:32.0776874Z         "impl",
2026-06-17T06:47:32.0777036Z         "unit"
2026-06-17T06:47:32.0777202Z       ],
2026-06-17T06:47:32.0777356Z       "stages": {
2026-06-17T06:47:32.0777526Z         "doc": {
2026-06-17T06:47:32.0777700Z           "complete": false,
2026-06-17T06:47:32.0777846Z           "evidence": []
2026-06-17T06:47:32.0777991Z         },
2026-06-17T06:47:32.0778138Z         "impl": {
2026-06-17T06:47:32.0778301Z           "complete": true,
2026-06-17T06:47:32.0778466Z           "evidence": [
2026-06-17T06:47:32.0778601Z             {
2026-06-17T06:47:32.0778804Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-17T06:47:32.0779050Z               "line": 174
2026-06-17T06:47:32.0779201Z             }
2026-06-17T06:47:32.0779346Z           ]
2026-06-17T06:47:32.0779497Z         },
2026-06-17T06:47:32.0779646Z         "int": {
2026-06-17T06:47:32.0779803Z           "complete": false,
2026-06-17T06:47:32.0779966Z           "evidence": []
2026-06-17T06:47:32.0780108Z         },
2026-06-17T06:47:32.0780257Z         "unit": {
2026-06-17T06:47:32.0780413Z           "complete": true,
2026-06-17T06:47:32.0780576Z           "evidence": [
2026-06-17T06:47:32.0780728Z             {
2026-06-17T06:47:32.0780938Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-17T06:47:32.0781100Z               "line": 1294
2026-06-17T06:47:32.0781229Z             }
2026-06-17T06:47:32.0781377Z           ]
2026-06-17T06:47:32.0781521Z         }
2026-06-17T06:47:32.0781780Z       }
2026-06-17T06:47:32.0781932Z     },
2026-06-17T06:47:32.0782078Z     {
2026-06-17T06:47:32.0782246Z       "id": "REQ-PAIR-5",
2026-06-17T06:47:32.0782684Z       "title": "Multi-subnet pairing: subnet-name discovery input, create-new-names-up-front, rendezvous-token hashing",
2026-06-17T06:47:32.0782852Z       "requiredStages": [
2026-06-17T06:47:32.0782999Z         "impl",
2026-06-17T06:47:32.0783152Z         "unit",
2026-06-17T06:47:32.0783309Z         "int"
2026-06-17T06:47:32.0783543Z       ],
2026-06-17T06:47:32.0783691Z       "stages": {
2026-06-17T06:47:32.0783843Z         "doc": {
2026-06-17T06:47:32.0784011Z           "complete": false,
2026-06-17T06:47:32.0784163Z           "evidence": []
2026-06-17T06:47:32.0784309Z         },
2026-06-17T06:47:32.0784461Z         "impl": {
2026-06-17T06:47:32.0784621Z           "complete": true,
2026-06-17T06:47:32.0784775Z           "evidence": [
2026-06-17T06:47:32.0784921Z             {
2026-06-17T06:47:32.0785142Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-17T06:47:32.0785303Z               "line": 44
2026-06-17T06:47:32.0785451Z             },
2026-06-17T06:47:32.0785589Z             {
2026-06-17T06:47:32.0785799Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-17T06:47:32.0785957Z               "line": 96
2026-06-17T06:47:32.0786109Z             },
2026-06-17T06:47:32.0786262Z             {
2026-06-17T06:47:32.0786472Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-17T06:47:32.0786635Z               "line": 107
2026-06-17T06:47:32.0786791Z             },
2026-06-17T06:47:32.0786940Z             {
2026-06-17T06:47:32.0787143Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-17T06:47:32.0787306Z               "line": 124
2026-06-17T06:47:32.0787452Z             },
2026-06-17T06:47:32.0787596Z             {
2026-06-17T06:47:32.0787810Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-17T06:47:32.0787973Z               "line": 155
2026-06-17T06:47:32.0788125Z             },
2026-06-17T06:47:32.0788265Z             {
2026-06-17T06:47:32.0788473Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-17T06:47:32.0788640Z               "line": 195
2026-06-17T06:47:32.0788788Z             },
2026-06-17T06:47:32.0788932Z             {
2026-06-17T06:47:32.0789289Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-17T06:47:32.0789454Z               "line": 251
2026-06-17T06:47:32.0789624Z             },
2026-06-17T06:47:32.0789766Z             {
2026-06-17T06:47:32.0790010Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-17T06:47:32.0790158Z               "line": 33
2026-06-17T06:47:32.0790315Z             },
2026-06-17T06:47:32.0790464Z             {
2026-06-17T06:47:32.0790697Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-17T06:47:32.0790849Z               "line": 45
2026-06-17T06:47:32.0790992Z             },
2026-06-17T06:47:32.0791151Z             {
2026-06-17T06:47:32.0791398Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-17T06:47:32.0791550Z               "line": 59
2026-06-17T06:47:32.0791704Z             },
2026-06-17T06:47:32.0791850Z             {
2026-06-17T06:47:32.0792062Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-17T06:47:32.0792217Z               "line": 376
2026-06-17T06:47:32.0792364Z             }
2026-06-17T06:47:32.0792520Z           ]
2026-06-17T06:47:32.0792672Z         },
2026-06-17T06:47:32.0792825Z         "int": {
2026-06-17T06:47:32.0792987Z           "complete": true,
2026-06-17T06:47:32.0793150Z           "evidence": [
2026-06-17T06:47:32.0793292Z             {
2026-06-17T06:47:32.0793507Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-17T06:47:32.0793675Z               "line": 885
2026-06-17T06:47:32.0793822Z             },
2026-06-17T06:47:32.0793965Z             {
2026-06-17T06:47:32.0794169Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-17T06:47:32.0794446Z               "line": 342
2026-06-17T06:47:32.0794595Z             }
2026-06-17T06:47:32.0794742Z           ]
2026-06-17T06:47:32.0794888Z         },
2026-06-17T06:47:32.0795035Z         "unit": {
2026-06-17T06:47:32.0795200Z           "complete": true,
2026-06-17T06:47:32.0795359Z           "evidence": [
2026-06-17T06:47:32.0795501Z             {
2026-06-17T06:47:32.0795702Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-17T06:47:32.0795988Z               "line": 293
2026-06-17T06:47:32.0796135Z             },
2026-06-17T06:47:32.0796279Z             {
2026-06-17T06:47:32.0796493Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-17T06:47:32.0796641Z               "line": 304
2026-06-17T06:47:32.0796784Z             },
2026-06-17T06:47:32.0796932Z             {
2026-06-17T06:47:32.0797152Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-17T06:47:32.0797313Z               "line": 406
2026-06-17T06:47:32.0797467Z             },
2026-06-17T06:47:32.0797614Z             {
2026-06-17T06:47:32.0797832Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-17T06:47:32.0797994Z               "line": 72
2026-06-17T06:47:32.0798142Z             },
2026-06-17T06:47:32.0798290Z             {
2026-06-17T06:47:32.0798520Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-17T06:47:32.0798670Z               "line": 82
2026-06-17T06:47:32.0798829Z             },
2026-06-17T06:47:32.0799087Z             {
2026-06-17T06:47:32.0799343Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-17T06:47:32.0799511Z               "line": 100
2026-06-17T06:47:32.0799653Z             },
2026-06-17T06:47:32.0799802Z             {
2026-06-17T06:47:32.0800024Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-17T06:47:32.0800185Z               "line": 110
2026-06-17T06:47:32.0800326Z             },
2026-06-17T06:47:32.0800481Z             {
2026-06-17T06:47:32.0800713Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-17T06:47:32.0800870Z               "line": 125
2026-06-17T06:47:32.0801009Z             },
2026-06-17T06:47:32.0801148Z             {
2026-06-17T06:47:32.0801358Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-17T06:47:32.0801510Z               "line": 1044
2026-06-17T06:47:32.0801653Z             },
2026-06-17T06:47:32.0801811Z             {
2026-06-17T06:47:32.0802021Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-17T06:47:32.0802182Z               "line": 1110
2026-06-17T06:47:32.0802327Z             },
2026-06-17T06:47:32.0802473Z             {
2026-06-17T06:47:32.0802684Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-17T06:47:32.0802839Z               "line": 1357
2026-06-17T06:47:32.0802992Z             }
2026-06-17T06:47:32.0803128Z           ]
2026-06-17T06:47:32.0803276Z         }
2026-06-17T06:47:32.0803428Z       }
2026-06-17T06:47:32.0803581Z     },
2026-06-17T06:47:32.0803780Z     {
2026-06-17T06:47:32.0803948Z       "id": "REQ-PAIR-6",
2026-06-17T06:47:32.0804329Z       "title": "Elevation-gated per-subnet code fetch (UAC/root or elevated agent; else authenticator app)",
2026-06-17T06:47:32.0804491Z       "requiredStages": [
2026-06-17T06:47:32.0804644Z         "impl",
2026-06-17T06:47:32.0804791Z         "unit"
2026-06-17T06:47:32.0804935Z       ],
2026-06-17T06:47:32.0805083Z       "stages": {
2026-06-17T06:47:32.0805231Z         "doc": {
2026-06-17T06:47:32.0805401Z           "complete": false,
2026-06-17T06:47:32.0805553Z           "evidence": []
2026-06-17T06:47:32.0805699Z         },
2026-06-17T06:47:32.0805852Z         "impl": {
2026-06-17T06:47:32.0806023Z           "complete": true,
2026-06-17T06:47:32.0806176Z           "evidence": [
2026-06-17T06:47:32.0806333Z             {
2026-06-17T06:47:32.0806519Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.0806792Z               "line": 3052
2026-06-17T06:47:32.0806944Z             },
2026-06-17T06:47:32.0807087Z             {
2026-06-17T06:47:32.0807273Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.0807427Z               "line": 3433
2026-06-17T06:47:32.0807573Z             },
2026-06-17T06:47:32.0807722Z             {
2026-06-17T06:47:32.0807906Z               "path": "crates/spt/src/elevation.rs",
2026-06-17T06:47:32.0808061Z               "line": 18
2026-06-17T06:47:32.0808311Z             },
2026-06-17T06:47:32.0808455Z             {
2026-06-17T06:47:32.0808640Z               "path": "crates/spt/src/elevation.rs",
2026-06-17T06:47:32.0808798Z               "line": 49
2026-06-17T06:47:32.0809032Z             },
2026-06-17T06:47:32.0809399Z             {
2026-06-17T06:47:32.0809718Z               "path": "crates/spt/src/elevation.rs",
2026-06-17T06:47:32.0809884Z               "line": 318
2026-06-17T06:47:32.0810043Z             }
2026-06-17T06:47:32.0810189Z           ]
2026-06-17T06:47:32.0810358Z         },
2026-06-17T06:47:32.0810508Z         "int": {
2026-06-17T06:47:32.0810670Z           "complete": false,
2026-06-17T06:47:32.0810835Z           "evidence": []
2026-06-17T06:47:32.0810983Z         },
2026-06-17T06:47:32.0811139Z         "unit": {
2026-06-17T06:47:32.0811303Z           "complete": true,
2026-06-17T06:47:32.0811468Z           "evidence": [
2026-06-17T06:47:32.0811608Z             {
2026-06-17T06:47:32.0811802Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.0811970Z               "line": 10142
2026-06-17T06:47:32.0812117Z             },
2026-06-17T06:47:32.0812266Z             {
2026-06-17T06:47:32.0812451Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.0812619Z               "line": 10159
2026-06-17T06:47:32.0812770Z             },
2026-06-17T06:47:32.0812915Z             {
2026-06-17T06:47:32.0813114Z               "path": "crates/spt/src/elevation.rs",
2026-06-17T06:47:32.0813267Z               "line": 383
2026-06-17T06:47:32.0813409Z             },
2026-06-17T06:47:32.0813557Z             {
2026-06-17T06:47:32.0813749Z               "path": "crates/spt/src/elevation.rs",
2026-06-17T06:47:32.0813922Z               "line": 392
2026-06-17T06:47:32.0814073Z             }
2026-06-17T06:47:32.0814222Z           ]
2026-06-17T06:47:32.0814364Z         }
2026-06-17T06:47:32.0814504Z       }
2026-06-17T06:47:32.0814641Z     },
2026-06-17T06:47:32.0814790Z     {
2026-06-17T06:47:32.0814960Z       "id": "REQ-PAIR-7",
2026-06-17T06:47:32.0815228Z       "title": "Subnet icon (inline image metadata, GUI-only consumer)",
2026-06-17T06:47:32.0815396Z       "requiredStages": [],
2026-06-17T06:47:32.0815542Z       "stages": {
2026-06-17T06:47:32.0815696Z         "doc": {
2026-06-17T06:47:32.0815862Z           "complete": false,
2026-06-17T06:47:32.0816028Z           "evidence": []
2026-06-17T06:47:32.0816188Z         },
2026-06-17T06:47:32.0816335Z         "impl": {
2026-06-17T06:47:32.0816494Z           "complete": false,
2026-06-17T06:47:32.0816655Z           "evidence": []
2026-06-17T06:47:32.0816803Z         },
2026-06-17T06:47:32.0816950Z         "int": {
2026-06-17T06:47:32.0817123Z           "complete": false,
2026-06-17T06:47:32.0817284Z           "evidence": []
2026-06-17T06:47:32.0817423Z         },
2026-06-17T06:47:32.0817570Z         "unit": {
2026-06-17T06:47:32.0817737Z           "complete": false,
2026-06-17T06:47:32.0817890Z           "evidence": []
2026-06-17T06:47:32.0818038Z         }
2026-06-17T06:47:32.0818195Z       }
2026-06-17T06:47:32.0818339Z     },
2026-06-17T06:47:32.0818486Z     {
2026-06-17T06:47:32.0818649Z       "id": "REQ-PAIR-8",
2026-06-17T06:47:32.0820497Z       "title": "NTP TOTP offset: the pairing ceremony queries NTP at ceremony time (both sides) and applies the derived offset to the TOTP calculation in-process only; system-clock fallback when NTP is unreachable (offline LAN pairing unaffected — NTP failure never blocks a pairing that succeeds today); never sets the OS clock; no background sync loop (M8 decision 18; field trigger: enlyzeam clock >1 min off exceeds the ±1 window)",
2026-06-17T06:47:32.0820875Z       "requiredStages": [
2026-06-17T06:47:32.0821030Z         "impl",
2026-06-17T06:47:32.0821183Z         "unit"
2026-06-17T06:47:32.0821333Z       ],
2026-06-17T06:47:32.0821491Z       "stages": {
2026-06-17T06:47:32.0821643Z         "doc": {
2026-06-17T06:47:32.0821805Z           "complete": false,
2026-06-17T06:47:32.0821963Z           "evidence": []
2026-06-17T06:47:32.0822105Z         },
2026-06-17T06:47:32.0822406Z         "impl": {
2026-06-17T06:47:32.0822573Z           "complete": true,
2026-06-17T06:47:32.0822721Z           "evidence": [
2026-06-17T06:47:32.0822873Z             {
2026-06-17T06:47:32.0823084Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-17T06:47:32.0823249Z               "line": 577
2026-06-17T06:47:32.0823409Z             },
2026-06-17T06:47:32.0823545Z             {
2026-06-17T06:47:32.0823761Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-17T06:47:32.0823916Z               "line": 22
2026-06-17T06:47:32.0824064Z             },
2026-06-17T06:47:32.0824219Z             {
2026-06-17T06:47:32.0824439Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-17T06:47:32.0824610Z               "line": 76
2026-06-17T06:47:32.0824745Z             },
2026-06-17T06:47:32.0824900Z             {
2026-06-17T06:47:32.0825106Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-17T06:47:32.0825282Z               "line": 127
2026-06-17T06:47:32.0825435Z             }
2026-06-17T06:47:32.0825583Z           ]
2026-06-17T06:47:32.0825731Z         },
2026-06-17T06:47:32.0825873Z         "int": {
2026-06-17T06:47:32.0826042Z           "complete": false,
2026-06-17T06:47:32.0826208Z           "evidence": []
2026-06-17T06:47:32.0826352Z         },
2026-06-17T06:47:32.0826507Z         "unit": {
2026-06-17T06:47:32.0826664Z           "complete": true,
2026-06-17T06:47:32.0826819Z           "evidence": [
2026-06-17T06:47:32.0826967Z             {
2026-06-17T06:47:32.0827210Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-17T06:47:32.0827363Z               "line": 183
2026-06-17T06:47:32.0827510Z             },
2026-06-17T06:47:32.0827649Z             {
2026-06-17T06:47:32.0827859Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-17T06:47:32.0828021Z               "line": 195
2026-06-17T06:47:32.0828159Z             },
2026-06-17T06:47:32.0828302Z             {
2026-06-17T06:47:32.0828522Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-17T06:47:32.0828683Z               "line": 211
2026-06-17T06:47:32.0828861Z             },
2026-06-17T06:47:32.0829094Z             {
2026-06-17T06:47:32.0829312Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-17T06:47:32.0829469Z               "line": 227
2026-06-17T06:47:32.0829623Z             }
2026-06-17T06:47:32.0829765Z           ]
2026-06-17T06:47:32.0829909Z         }
2026-06-17T06:47:32.0830055Z       }
2026-06-17T06:47:32.0830200Z     },
2026-06-17T06:47:32.0830342Z     {
2026-06-17T06:47:32.0830505Z       "id": "REQ-PRES-1",
2026-06-17T06:47:32.0832171Z       "title": "Presence resolution: the presence datum (last_active_node, last_active_endpoint, ts) gossiped subnet-wide via the agent-interaction heartbeat (rides registry distribution, visibility-gated) + one first-class most-recently-active resolution API consumed by notif first-fire, update-consent delivery, consent escalation, and shell wake resolution (M5 scope decision 1: resolution only — the PresenceChannel endpoint stays deferred)",
2026-06-17T06:47:32.0832350Z       "requiredStages": [
2026-06-17T06:47:32.0832494Z         "impl",
2026-06-17T06:47:32.0832651Z         "unit",
2026-06-17T06:47:32.0832795Z         "int"
2026-06-17T06:47:32.0832937Z       ],
2026-06-17T06:47:32.0833086Z       "stages": {
2026-06-17T06:47:32.0833237Z         "doc": {
2026-06-17T06:47:32.0833405Z           "complete": true,
2026-06-17T06:47:32.0833561Z           "evidence": [
2026-06-17T06:47:32.0833805Z             {
2026-06-17T06:47:32.0833969Z               "path": "docs/DEFERRED.md",
2026-06-17T06:47:32.0834120Z               "line": 11
2026-06-17T06:47:32.0834269Z             }
2026-06-17T06:47:32.0834420Z           ]
2026-06-17T06:47:32.0834571Z         },
2026-06-17T06:47:32.0834723Z         "impl": {
2026-06-17T06:47:32.0834888Z           "complete": true,
2026-06-17T06:47:32.0839529Z           "evidence": [
2026-06-17T06:47:32.0839717Z             {
2026-06-17T06:47:32.0840101Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-17T06:47:32.0840263Z               "line": 515
2026-06-17T06:47:32.0840416Z             },
2026-06-17T06:47:32.0840558Z             {
2026-06-17T06:47:32.0840774Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-17T06:47:32.0840926Z               "line": 567
2026-06-17T06:47:32.0841070Z             },
2026-06-17T06:47:32.0841212Z             {
2026-06-17T06:47:32.0841422Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-17T06:47:32.0841584Z               "line": 188
2026-06-17T06:47:32.0841727Z             },
2026-06-17T06:47:32.0841865Z             {
2026-06-17T06:47:32.0842047Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-17T06:47:32.0842212Z               "line": 214
2026-06-17T06:47:32.0842355Z             },
2026-06-17T06:47:32.0842491Z             {
2026-06-17T06:47:32.0842707Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-17T06:47:32.0842867Z               "line": 28
2026-06-17T06:47:32.0843022Z             },
2026-06-17T06:47:32.0843172Z             {
2026-06-17T06:47:32.0843378Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-17T06:47:32.0843536Z               "line": 105
2026-06-17T06:47:32.0843684Z             },
2026-06-17T06:47:32.0843831Z             {
2026-06-17T06:47:32.0844032Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-17T06:47:32.0844194Z               "line": 161
2026-06-17T06:47:32.0844342Z             },
2026-06-17T06:47:32.0844495Z             {
2026-06-17T06:47:32.0844699Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-17T06:47:32.0844868Z               "line": 180
2026-06-17T06:47:32.0845009Z             },
2026-06-17T06:47:32.0845156Z             {
2026-06-17T06:47:32.0845386Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T06:47:32.0845545Z               "line": 415
2026-06-17T06:47:32.0845697Z             },
2026-06-17T06:47:32.0845855Z             {
2026-06-17T06:47:32.0846068Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-17T06:47:32.0846232Z               "line": 289
2026-06-17T06:47:32.0846369Z             },
2026-06-17T06:47:32.0846513Z             {
2026-06-17T06:47:32.0846718Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-17T06:47:32.0846880Z               "line": 336
2026-06-17T06:47:32.0847027Z             },
2026-06-17T06:47:32.0847172Z             {
2026-06-17T06:47:32.0847376Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-17T06:47:32.0847533Z               "line": 362
2026-06-17T06:47:32.0847684Z             },
2026-06-17T06:47:32.0847818Z             {
2026-06-17T06:47:32.0848030Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T06:47:32.0848184Z               "line": 100
2026-06-17T06:47:32.0848330Z             }
2026-06-17T06:47:32.0848478Z           ]
2026-06-17T06:47:32.0848621Z         },
2026-06-17T06:47:32.0848774Z         "int": {
2026-06-17T06:47:32.0849042Z           "complete": true,
2026-06-17T06:47:32.0849203Z           "evidence": [
2026-06-17T06:47:32.0849347Z             {
2026-06-17T06:47:32.0849560Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-17T06:47:32.0849719Z               "line": 559
2026-06-17T06:47:32.0849865Z             },
2026-06-17T06:47:32.0850010Z             {
2026-06-17T06:47:32.0850219Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-17T06:47:32.0850363Z               "line": 745
2026-06-17T06:47:32.0850613Z             },
2026-06-17T06:47:32.0850752Z             {
2026-06-17T06:47:32.0850952Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-17T06:47:32.0851109Z               "line": 1163
2026-06-17T06:47:32.0851258Z             }
2026-06-17T06:47:32.0851396Z           ]
2026-06-17T06:47:32.0851548Z         },
2026-06-17T06:47:32.0851705Z         "unit": {
2026-06-17T06:47:32.0851853Z           "complete": true,
2026-06-17T06:47:32.0852010Z           "evidence": [
2026-06-17T06:47:32.0852250Z             {
2026-06-17T06:47:32.0852444Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-17T06:47:32.0852603Z               "line": 674
2026-06-17T06:47:32.0852744Z             },
2026-06-17T06:47:32.0852887Z             {
2026-06-17T06:47:32.0853084Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-17T06:47:32.0853248Z               "line": 238
2026-06-17T06:47:32.0853395Z             },
2026-06-17T06:47:32.0853538Z             {
2026-06-17T06:47:32.0853747Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-17T06:47:32.0853896Z               "line": 269
2026-06-17T06:47:32.0854048Z             },
2026-06-17T06:47:32.0854182Z             {
2026-06-17T06:47:32.0854386Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-17T06:47:32.0854539Z               "line": 305
2026-06-17T06:47:32.0854682Z             },
2026-06-17T06:47:32.0854836Z             {
2026-06-17T06:47:32.0855035Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-17T06:47:32.0855193Z               "line": 336
2026-06-17T06:47:32.0855335Z             },
2026-06-17T06:47:32.0855475Z             {
2026-06-17T06:47:32.0855687Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T06:47:32.0855843Z               "line": 1165
2026-06-17T06:47:32.0855990Z             },
2026-06-17T06:47:32.0856134Z             {
2026-06-17T06:47:32.0856343Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T06:47:32.0856506Z               "line": 1131
2026-06-17T06:47:32.0856648Z             }
2026-06-17T06:47:32.0856792Z           ]
2026-06-17T06:47:32.0856933Z         }
2026-06-17T06:47:32.0857073Z       }
2026-06-17T06:47:32.0857206Z     },
2026-06-17T06:47:32.0857350Z     {
2026-06-17T06:47:32.0857501Z       "id": "REQ-RC-1",
2026-06-17T06:47:32.0859941Z       "title": "`spt rc <id>` — user CLI attaching a local terminal to a broker-held PTY, reusing the cross-node attach machinery (attach.rs request_attach → send_attach_input pump, spt-net AttachRecord codec); local attach is the degenerate single-node case of the cross-node path (rides REQ-TERM-3 byte-stream streaming). Read-only `--view` (watch, no stdin forwarded). Clean detach that does NOT terminate the broker-held session (KNOWN-HAZARDS: PTY ownership stays with the broker; no termination on detach). Explicit detach keybind that cannot collide with harness passthrough input (legacy capsule used a ctrl-b prefix); documented. ConPTY DSR auto-answer in the attach reader (hazard 5.5).",
2026-06-17T06:47:32.0860125Z       "requiredStages": [
2026-06-17T06:47:32.0860265Z         "impl",
2026-06-17T06:47:32.0860412Z         "unit",
2026-06-17T06:47:32.0860561Z         "int"
2026-06-17T06:47:32.0860707Z       ],
2026-06-17T06:47:32.0860856Z       "stages": {
2026-06-17T06:47:32.0861002Z         "doc": {
2026-06-17T06:47:32.0861169Z           "complete": false,
2026-06-17T06:47:32.0861317Z           "evidence": []
2026-06-17T06:47:32.0861454Z         },
2026-06-17T06:47:32.0861598Z         "impl": {
2026-06-17T06:47:32.0861764Z           "complete": true,
2026-06-17T06:47:32.0861927Z           "evidence": [
2026-06-17T06:47:32.0862065Z             {
2026-06-17T06:47:32.0862270Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-17T06:47:32.0862408Z               "line": 895
2026-06-17T06:47:32.0862561Z             },
2026-06-17T06:47:32.0862704Z             {
2026-06-17T06:47:32.0862913Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-17T06:47:32.0863196Z               "line": 1168
2026-06-17T06:47:32.0863337Z             },
2026-06-17T06:47:32.0863490Z             {
2026-06-17T06:47:32.0863678Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-17T06:47:32.0863842Z               "line": 967
2026-06-17T06:47:32.0863974Z             },
2026-06-17T06:47:32.0864118Z             {
2026-06-17T06:47:32.0864321Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-17T06:47:32.0864480Z               "line": 1001
2026-06-17T06:47:32.0864766Z             },
2026-06-17T06:47:32.0864903Z             {
2026-06-17T06:47:32.0865085Z               "path": "crates/spt/src/rc.rs",
2026-06-17T06:47:32.0865228Z               "line": 22
2026-06-17T06:47:32.0865372Z             },
2026-06-17T06:47:32.0865514Z             {
2026-06-17T06:47:32.0865687Z               "path": "crates/spt/src/rc.rs",
2026-06-17T06:47:32.0865843Z               "line": 181
2026-06-17T06:47:32.0865973Z             }
2026-06-17T06:47:32.0866119Z           ]
2026-06-17T06:47:32.0866266Z         },
2026-06-17T06:47:32.0866413Z         "int": {
2026-06-17T06:47:32.0866579Z           "complete": true,
2026-06-17T06:47:32.0866723Z           "evidence": [
2026-06-17T06:47:32.0866869Z             {
2026-06-17T06:47:32.0867071Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-17T06:47:32.0867232Z               "line": 252
2026-06-17T06:47:32.0867371Z             },
2026-06-17T06:47:32.0867518Z             {
2026-06-17T06:47:32.0867709Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-17T06:47:32.0867857Z               "line": 279
2026-06-17T06:47:32.0868009Z             },
2026-06-17T06:47:32.0868152Z             {
2026-06-17T06:47:32.0868357Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-17T06:47:32.0868511Z               "line": 404
2026-06-17T06:47:32.0868658Z             }
2026-06-17T06:47:32.0868804Z           ]
2026-06-17T06:47:32.0869022Z         },
2026-06-17T06:47:32.0869160Z         "unit": {
2026-06-17T06:47:32.0869318Z           "complete": true,
2026-06-17T06:47:32.0869489Z           "evidence": [
2026-06-17T06:47:32.0869633Z             {
2026-06-17T06:47:32.0869824Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-17T06:47:32.0869990Z               "line": 1327
2026-06-17T06:47:32.0870129Z             },
2026-06-17T06:47:32.0870271Z             {
2026-06-17T06:47:32.0870443Z               "path": "crates/spt/src/rc.rs",
2026-06-17T06:47:32.0870595Z               "line": 421
2026-06-17T06:47:32.0870743Z             },
2026-06-17T06:47:32.0870891Z             {
2026-06-17T06:47:32.0871073Z               "path": "crates/spt/src/rc.rs",
2026-06-17T06:47:32.0871224Z               "line": 450
2026-06-17T06:47:32.0871378Z             },
2026-06-17T06:47:32.0871507Z             {
2026-06-17T06:47:32.0871681Z               "path": "crates/spt/src/rc.rs",
2026-06-17T06:47:32.0871840Z               "line": 463
2026-06-17T06:47:32.0871981Z             }
2026-06-17T06:47:32.0872126Z           ]
2026-06-17T06:47:32.0872277Z         }
2026-06-17T06:47:32.0872421Z       }
2026-06-17T06:47:32.0872559Z     },
2026-06-17T06:47:32.0872698Z     {
2026-06-17T06:47:32.0872855Z       "id": "REQ-RCVIEW-1",
2026-06-17T06:47:32.0878117Z       "title": "Remote-attach controller/viewer model (CONTEXT.md:317): a session's broker OutputLog serves ONE interactive controller (input + EXCLUSIVE PTY resize; its viewport sets the size, sent on attach + every window change via crossterm Event::Resize) plus ANY NUMBER of read-only `--view` attachers (output-only, no input, no resize; client-side letterbox — center+pad when larger, clip+1-line indicator when smaller; only the local ctrl-b d detach chord). Attach intent is three-valued (`Viewer | Control | Take`, wire-default Control): Control to a FREE endpoint becomes controller, Control to a CONTROLLED endpoint is REFUSED with guidance (`--view`/`--take`) — never auto-viewer, never silent-displace. Wire adds (additive, N-1 skip-unknown): `Request.intent`, `Resize{rows,cols}` (controller-only), `Size{rows,cols}` (→viewer), `Displaced{by}` (→displaced controller). The brain-resume cursor (delivered_through, ADR-0018) tracks the CONTROLLER ONLY; viewers replay from their own from_seq and never move it. Dormancy keys on the controller ONLY: controller attach wakes / controller detach goes dormant (even with viewers present); viewer attach/detach is wake-neutral and may watch a dormant endpoint as-is. v1: viewing is gated identically to driving — a viewer runs the same access_check(Unsolicited) as a controller (watching reveals full session contents = a real disclosure); a lighter distinct watch-gate is deferred to cross-subnet/finer-consent (CONTEXT.md:317 'driving ≠ watching' = the future seam).",
2026-06-17T06:47:32.0878504Z       "requiredStages": [
2026-06-17T06:47:32.0878655Z         "doc",
2026-06-17T06:47:32.0878800Z         "impl",
2026-06-17T06:47:32.0879047Z         "unit",
2026-06-17T06:47:32.0879190Z         "int"
2026-06-17T06:47:32.0879336Z       ],
2026-06-17T06:47:32.0879498Z       "stages": {
2026-06-17T06:47:32.0879643Z         "doc": {
2026-06-17T06:47:32.0879792Z           "complete": true,
2026-06-17T06:47:32.0879944Z           "evidence": [
2026-06-17T06:47:32.0880088Z             {
2026-06-17T06:47:32.0880259Z               "path": "CONTEXT.md",
2026-06-17T06:47:32.0880417Z               "line": 330
2026-06-17T06:47:32.0880559Z             }
2026-06-17T06:47:32.0880704Z           ]
2026-06-17T06:47:32.0880840Z         },
2026-06-17T06:47:32.0880979Z         "impl": {
2026-06-17T06:47:32.0881141Z           "complete": true,
2026-06-17T06:47:32.0881294Z           "evidence": [
2026-06-17T06:47:32.0881437Z             {
2026-06-17T06:47:32.0881643Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-17T06:47:32.0881804Z               "line": 323
2026-06-17T06:47:32.0881948Z             },
2026-06-17T06:47:32.0882090Z             {
2026-06-17T06:47:32.0882284Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-17T06:47:32.0882433Z               "line": 430
2026-06-17T06:47:32.0882589Z             },
2026-06-17T06:47:32.0882728Z             {
2026-06-17T06:47:32.0882924Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-17T06:47:32.0883086Z               "line": 441
2026-06-17T06:47:32.0883238Z             },
2026-06-17T06:47:32.0883381Z             {
2026-06-17T06:47:32.0883582Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-17T06:47:32.0883729Z               "line": 41
2026-06-17T06:47:32.0883873Z             },
2026-06-17T06:47:32.0884015Z             {
2026-06-17T06:47:32.0884207Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-17T06:47:32.0884358Z               "line": 62
2026-06-17T06:47:32.0884500Z             },
2026-06-17T06:47:32.0884648Z             {
2026-06-17T06:47:32.0884842Z               "path": "crates/spt-store/src/info.rs",
2026-06-17T06:47:32.0884995Z               "line": 286
2026-06-17T06:47:32.0885132Z             },
2026-06-17T06:47:32.0885276Z             {
2026-06-17T06:47:32.0885456Z               "path": "crates/spt/src/rc.rs",
2026-06-17T06:47:32.0885605Z               "line": 181
2026-06-17T06:47:32.0885757Z             }
2026-06-17T06:47:32.0885910Z           ]
2026-06-17T06:47:32.0886052Z         },
2026-06-17T06:47:32.0886202Z         "int": {
2026-06-17T06:47:32.0886362Z           "complete": true,
2026-06-17T06:47:32.0886521Z           "evidence": [
2026-06-17T06:47:32.0886667Z             {
2026-06-17T06:47:32.0886864Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-17T06:47:32.0887031Z               "line": 789
2026-06-17T06:47:32.0887174Z             },
2026-06-17T06:47:32.0887320Z             {
2026-06-17T06:47:32.0887524Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-17T06:47:32.0887670Z               "line": 829
2026-06-17T06:47:32.0887814Z             },
2026-06-17T06:47:32.0887966Z             {
2026-06-17T06:47:32.0888172Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-17T06:47:32.0888314Z               "line": 876
2026-06-17T06:47:32.0888566Z             },
2026-06-17T06:47:32.0888696Z             {
2026-06-17T06:47:32.0888910Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-17T06:47:32.0889144Z               "line": 988
2026-06-17T06:47:32.0889292Z             }
2026-06-17T06:47:32.0889435Z           ]
2026-06-17T06:47:32.0889578Z         },
2026-06-17T06:47:32.0889736Z         "unit": {
2026-06-17T06:47:32.0889886Z           "complete": true,
2026-06-17T06:47:32.0890137Z           "evidence": [
2026-06-17T06:47:32.0890280Z             {
2026-06-17T06:47:32.0890490Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-17T06:47:32.0890653Z               "line": 175
2026-06-17T06:47:32.0890795Z             },
2026-06-17T06:47:32.0890939Z             {
2026-06-17T06:47:32.0891138Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-17T06:47:32.0891297Z               "line": 195
2026-06-17T06:47:32.0891439Z             }
2026-06-17T06:47:32.0891578Z           ]
2026-06-17T06:47:32.0891730Z         }
2026-06-17T06:47:32.0891869Z       }
2026-06-17T06:47:32.0892011Z     },
2026-06-17T06:47:32.0892149Z     {
2026-06-17T06:47:32.0892307Z       "id": "REQ-REACH-1",
2026-06-17T06:47:32.0892547Z       "title": "Off-node remote-drive detection + file transfer",
2026-06-17T06:47:32.0892711Z       "requiredStages": [
2026-06-17T06:47:32.0892859Z         "impl",
2026-06-17T06:47:32.0893002Z         "unit",
2026-06-17T06:47:32.0893149Z         "int"
2026-06-17T06:47:32.0893293Z       ],
2026-06-17T06:47:32.0893440Z       "stages": {
2026-06-17T06:47:32.0893584Z         "doc": {
2026-06-17T06:47:32.0893750Z           "complete": false,
2026-06-17T06:47:32.0893894Z           "evidence": []
2026-06-17T06:47:32.0894036Z         },
2026-06-17T06:47:32.0894185Z         "impl": {
2026-06-17T06:47:32.0894347Z           "complete": true,
2026-06-17T06:47:32.0894490Z           "evidence": [
2026-06-17T06:47:32.0894632Z             {
2026-06-17T06:47:32.0894834Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-17T06:47:32.0894989Z               "line": 430
2026-06-17T06:47:32.0895137Z             },
2026-06-17T06:47:32.0895273Z             {
2026-06-17T06:47:32.0895464Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-17T06:47:32.0895611Z               "line": 76
2026-06-17T06:47:32.0895759Z             },
2026-06-17T06:47:32.0895898Z             {
2026-06-17T06:47:32.0896089Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-17T06:47:32.0896246Z               "line": 222
2026-06-17T06:47:32.0896389Z             },
2026-06-17T06:47:32.0896532Z             {
2026-06-17T06:47:32.0896728Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-17T06:47:32.0896885Z               "line": 422
2026-06-17T06:47:32.0897029Z             },
2026-06-17T06:47:32.0897180Z             {
2026-06-17T06:47:32.0897368Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-17T06:47:32.0897529Z               "line": 529
2026-06-17T06:47:32.0897673Z             },
2026-06-17T06:47:32.0897823Z             {
2026-06-17T06:47:32.0898014Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-17T06:47:32.0898164Z               "line": 39
2026-06-17T06:47:32.0898302Z             },
2026-06-17T06:47:32.0898436Z             {
2026-06-17T06:47:32.0898627Z               "path": "crates/spt-store/src/info.rs",
2026-06-17T06:47:32.0898779Z               "line": 278
2026-06-17T06:47:32.0898927Z             },
2026-06-17T06:47:32.0899146Z             {
2026-06-17T06:47:32.0899342Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-17T06:47:32.0899513Z               "line": 88
2026-06-17T06:47:32.0899652Z             },
2026-06-17T06:47:32.0899794Z             {
2026-06-17T06:47:32.0899976Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-17T06:47:32.0900138Z               "line": 98
2026-06-17T06:47:32.0900287Z             },
2026-06-17T06:47:32.0900428Z             {
2026-06-17T06:47:32.0900627Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T06:47:32.0900884Z               "line": 229
2026-06-17T06:47:32.0901031Z             }
2026-06-17T06:47:32.0901164Z           ]
2026-06-17T06:47:32.0901308Z         },
2026-06-17T06:47:32.0901445Z         "int": {
2026-06-17T06:47:32.0901604Z           "complete": true,
2026-06-17T06:47:32.0901760Z           "evidence": [
2026-06-17T06:47:32.0901904Z             {
2026-06-17T06:47:32.0902114Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-17T06:47:32.0902361Z               "line": 415
2026-06-17T06:47:32.0902519Z             },
2026-06-17T06:47:32.0902666Z             {
2026-06-17T06:47:32.0902867Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-17T06:47:32.0903015Z               "line": 516
2026-06-17T06:47:32.0903159Z             },
2026-06-17T06:47:32.0903295Z             {
2026-06-17T06:47:32.0903487Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-17T06:47:32.0903647Z               "line": 996
2026-06-17T06:47:32.0903796Z             },
2026-06-17T06:47:32.0903939Z             {
2026-06-17T06:47:32.0904130Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-17T06:47:32.0904282Z               "line": 1381
2026-06-17T06:47:32.0904430Z             }
2026-06-17T06:47:32.0904573Z           ]
2026-06-17T06:47:32.0904717Z         },
2026-06-17T06:47:32.0904859Z         "unit": {
2026-06-17T06:47:32.0905018Z           "complete": true,
2026-06-17T06:47:32.0905169Z           "evidence": [
2026-06-17T06:47:32.0905308Z             {
2026-06-17T06:47:32.0905498Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-17T06:47:32.0905649Z               "line": 639
2026-06-17T06:47:32.0905796Z             },
2026-06-17T06:47:32.0905942Z             {
2026-06-17T06:47:32.0906134Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-17T06:47:32.0906281Z               "line": 660
2026-06-17T06:47:32.0906434Z             },
2026-06-17T06:47:32.0906581Z             {
2026-06-17T06:47:32.0906777Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-17T06:47:32.0906940Z               "line": 646
2026-06-17T06:47:32.0907083Z             },
2026-06-17T06:47:32.0907221Z             {
2026-06-17T06:47:32.0907417Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-17T06:47:32.0907565Z               "line": 93
2026-06-17T06:47:32.0907716Z             },
2026-06-17T06:47:32.0907865Z             {
2026-06-17T06:47:32.0908064Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-17T06:47:32.0908233Z               "line": 224
2026-06-17T06:47:32.0908374Z             },
2026-06-17T06:47:32.0908517Z             {
2026-06-17T06:47:32.0908710Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-17T06:47:32.0908863Z               "line": 96
2026-06-17T06:47:32.0909086Z             },
2026-06-17T06:47:32.0909221Z             {
2026-06-17T06:47:32.0909429Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-17T06:47:32.0909583Z               "line": 146
2026-06-17T06:47:32.0909734Z             },
2026-06-17T06:47:32.0909865Z             {
2026-06-17T06:47:32.0910045Z               "path": "crates/spt-store/src/info.rs",
2026-06-17T06:47:32.0910198Z               "line": 641
2026-06-17T06:47:32.0910340Z             },
2026-06-17T06:47:32.0910485Z             {
2026-06-17T06:47:32.0910669Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-17T06:47:32.0910828Z               "line": 118
2026-06-17T06:47:32.0910969Z             },
2026-06-17T06:47:32.0911117Z             {
2026-06-17T06:47:32.0911310Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-17T06:47:32.0911448Z               "line": 148
2026-06-17T06:47:32.0911596Z             },
2026-06-17T06:47:32.0911739Z             {
2026-06-17T06:47:32.0911939Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T06:47:32.0912083Z               "line": 924
2026-06-17T06:47:32.0912230Z             }
2026-06-17T06:47:32.0912369Z           ]
2026-06-17T06:47:32.0912497Z         }
2026-06-17T06:47:32.0912765Z       }
2026-06-17T06:47:32.0912888Z     },
2026-06-17T06:47:32.0913023Z     {
2026-06-17T06:47:32.0913179Z       "id": "REQ-REACH-2",
2026-06-17T06:47:32.0913422Z       "title": "Remote command execution (deferred, consent-gated)",
2026-06-17T06:47:32.0913589Z       "requiredStages": [],
2026-06-17T06:47:32.0913737Z       "stages": {
2026-06-17T06:47:32.0913883Z         "doc": {
2026-06-17T06:47:32.0914042Z           "complete": false,
2026-06-17T06:47:32.0914189Z           "evidence": []
2026-06-17T06:47:32.0914423Z         },
2026-06-17T06:47:32.0914565Z         "impl": {
2026-06-17T06:47:32.0914738Z           "complete": false,
2026-06-17T06:47:32.0914900Z           "evidence": []
2026-06-17T06:47:32.0915043Z         },
2026-06-17T06:47:32.0915185Z         "int": {
2026-06-17T06:47:32.0915343Z           "complete": false,
2026-06-17T06:47:32.0915486Z           "evidence": []
2026-06-17T06:47:32.0915630Z         },
2026-06-17T06:47:32.0915777Z         "unit": {
2026-06-17T06:47:32.0915935Z           "complete": false,
2026-06-17T06:47:32.0916086Z           "evidence": []
2026-06-17T06:47:32.0916224Z         }
2026-06-17T06:47:32.0916365Z       }
2026-06-17T06:47:32.0916503Z     },
2026-06-17T06:47:32.0916642Z     {
2026-06-17T06:47:32.0916788Z       "id": "REQ-REL-1",
2026-06-17T06:47:32.0917285Z       "title": "spt-releases publish-target repo: README public face, licensing split, Pages docs at the permanent lapse-proof canonical URL (ADR-0014)",
2026-06-17T06:47:32.0917437Z       "requiredStages": [
2026-06-17T06:47:32.0917586Z         "doc",
2026-06-17T06:47:32.0917732Z         "impl"
2026-06-17T06:47:32.0917872Z       ],
2026-06-17T06:47:32.0918029Z       "stages": {
2026-06-17T06:47:32.0918173Z         "doc": {
2026-06-17T06:47:32.0918334Z           "complete": true,
2026-06-17T06:47:32.0918488Z           "evidence": [
2026-06-17T06:47:32.0918629Z             {
2026-06-17T06:47:32.0919029Z               "path": "docs/adr/0014-publish-target-repo-and-lapse-proof-canonical-url.md",
2026-06-17T06:47:32.0919186Z               "line": 3
2026-06-17T06:47:32.0919336Z             }
2026-06-17T06:47:32.0919481Z           ]
2026-06-17T06:47:32.0919617Z         },
2026-06-17T06:47:32.0919762Z         "impl": {
2026-06-17T06:47:32.0919909Z           "complete": true,
2026-06-17T06:47:32.0920058Z           "evidence": [
2026-06-17T06:47:32.0920196Z             {
2026-06-17T06:47:32.0920410Z               "path": ".github/workflows/docs-publish.yml",
2026-06-17T06:47:32.0920558Z               "line": 11
2026-06-17T06:47:32.0920706Z             },
2026-06-17T06:47:32.0920852Z             {
2026-06-17T06:47:32.0921030Z               "path": "crates/xtask/src/main.rs",
2026-06-17T06:47:32.0921191Z               "line": 265
2026-06-17T06:47:32.0921327Z             }
2026-06-17T06:47:32.0921473Z           ]
2026-06-17T06:47:32.0921605Z         },
2026-06-17T06:47:32.0921753Z         "int": {
2026-06-17T06:47:32.0921917Z           "complete": false,
2026-06-17T06:47:32.0922066Z           "evidence": []
2026-06-17T06:47:32.0922213Z         },
2026-06-17T06:47:32.0922353Z         "unit": {
2026-06-17T06:47:32.0922518Z           "complete": false,
2026-06-17T06:47:32.0922667Z           "evidence": []
2026-06-17T06:47:32.0922804Z         }
2026-06-17T06:47:32.0922944Z       }
2026-06-17T06:47:32.0923081Z     },
2026-06-17T06:47:32.0923224Z     {
2026-06-17T06:47:32.0923376Z       "id": "REQ-REL-2",
2026-06-17T06:47:32.0923997Z       "title": "Release asset set consumable by the self-updater: platform binaries, SHA256SUMS, SignedRelease metadata, manifest schema, mock-adapter zip; tag-triggered cross-repo pipeline",
2026-06-17T06:47:32.0924164Z       "requiredStages": [
2026-06-17T06:47:32.0924303Z         "impl",
2026-06-17T06:47:32.0924444Z         "int"
2026-06-17T06:47:32.0924587Z       ],
2026-06-17T06:47:32.0924730Z       "stages": {
2026-06-17T06:47:32.0924878Z         "doc": {
2026-06-17T06:47:32.0925035Z           "complete": true,
2026-06-17T06:47:32.0925194Z           "evidence": [
2026-06-17T06:47:32.0925440Z             {
2026-06-17T06:47:32.0925626Z               "path": "docs/RELEASE-RUNBOOK.md",
2026-06-17T06:47:32.0925769Z               "line": 6
2026-06-17T06:47:32.0925917Z             }
2026-06-17T06:47:32.0926060Z           ]
2026-06-17T06:47:32.0926204Z         },
2026-06-17T06:47:32.0926351Z         "impl": {
2026-06-17T06:47:32.0926514Z           "complete": true,
2026-06-17T06:47:32.0926674Z           "evidence": [
2026-06-17T06:47:32.0926813Z             {
2026-06-17T06:47:32.0927010Z               "path": ".github/workflows/release.yml",
2026-06-17T06:47:32.0927259Z               "line": 16
2026-06-17T06:47:32.0927392Z             },
2026-06-17T06:47:32.0927536Z             {
2026-06-17T06:47:32.0927716Z               "path": "crates/xtask/src/main.rs",
2026-06-17T06:47:32.0927883Z               "line": 352
2026-06-17T06:47:32.0928026Z             },
2026-06-17T06:47:32.0928179Z             {
2026-06-17T06:47:32.0928355Z               "path": "crates/xtask/src/main.rs",
2026-06-17T06:47:32.0928508Z               "line": 426
2026-06-17T06:47:32.0928651Z             },
2026-06-17T06:47:32.0928789Z             {
2026-06-17T06:47:32.0929090Z               "path": "crates/xtask/src/main.rs",
2026-06-17T06:47:32.0929238Z               "line": 588
2026-06-17T06:47:32.0929391Z             },
2026-06-17T06:47:32.0929536Z             {
2026-06-17T06:47:32.0929718Z               "path": "crates/xtask/src/main.rs",
2026-06-17T06:47:32.0929868Z               "line": 720
2026-06-17T06:47:32.0930011Z             }
2026-06-17T06:47:32.0930164Z           ]
2026-06-17T06:47:32.0930298Z         },
2026-06-17T06:47:32.0930441Z         "int": {
2026-06-17T06:47:32.0930608Z           "complete": true,
2026-06-17T06:47:32.0930756Z           "evidence": [
2026-06-17T06:47:32.0930898Z             {
2026-06-17T06:47:32.0931108Z               "path": "crates/spt/tests/release_verify_e2e.rs",
2026-06-17T06:47:32.0931266Z               "line": 13
2026-06-17T06:47:32.0931408Z             }
2026-06-17T06:47:32.0931552Z           ]
2026-06-17T06:47:32.0931704Z         },
2026-06-17T06:47:32.0931838Z         "unit": {
2026-06-17T06:47:32.0932005Z           "complete": false,
2026-06-17T06:47:32.0932160Z           "evidence": []
2026-06-17T06:47:32.0932303Z         }
2026-06-17T06:47:32.0932430Z       }
2026-06-17T06:47:32.0932573Z     },
2026-06-17T06:47:32.0932716Z     {
2026-06-17T06:47:32.0932860Z       "id": "REQ-REL-3",
2026-06-17T06:47:32.0933421Z       "title": "Two-key release-signing trust anchor: primary + offline never-used recovery, both pubkeys embedded in the binary's trusted set, manual local signing (ADR-0015)",
2026-06-17T06:47:32.0933585Z       "requiredStages": [
2026-06-17T06:47:32.0933732Z         "impl",
2026-06-17T06:47:32.0933876Z         "unit"
2026-06-17T06:47:32.0934013Z       ],
2026-06-17T06:47:32.0934162Z       "stages": {
2026-06-17T06:47:32.0934304Z         "doc": {
2026-06-17T06:47:32.0934458Z           "complete": false,
2026-06-17T06:47:32.0934599Z           "evidence": []
2026-06-17T06:47:32.0934754Z         },
2026-06-17T06:47:32.0934900Z         "impl": {
2026-06-17T06:47:32.0935061Z           "complete": true,
2026-06-17T06:47:32.0935210Z           "evidence": [
2026-06-17T06:47:32.0935352Z             {
2026-06-17T06:47:32.0935548Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T06:47:32.0935700Z               "line": 237
2026-06-17T06:47:32.0935853Z             },
2026-06-17T06:47:32.0935995Z             {
2026-06-17T06:47:32.0936196Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T06:47:32.0936354Z               "line": 289
2026-06-17T06:47:32.0936482Z             },
2026-06-17T06:47:32.0936630Z             {
2026-06-17T06:47:32.0936811Z               "path": "crates/xtask/src/main.rs",
2026-06-17T06:47:32.0936973Z               "line": 329
2026-06-17T06:47:32.0937112Z             },
2026-06-17T06:47:32.0937253Z             {
2026-06-17T06:47:32.0937438Z               "path": "crates/xtask/src/main.rs",
2026-06-17T06:47:32.0937589Z               "line": 353
2026-06-17T06:47:32.0937843Z             },
2026-06-17T06:47:32.0937986Z             {
2026-06-17T06:47:32.0938171Z               "path": "crates/xtask/src/main.rs",
2026-06-17T06:47:32.0938321Z               "line": 394
2026-06-17T06:47:32.0938467Z             }
2026-06-17T06:47:32.0938611Z           ]
2026-06-17T06:47:32.0938754Z         },
2026-06-17T06:47:32.0938901Z         "int": {
2026-06-17T06:47:32.0939130Z           "complete": false,
2026-06-17T06:47:32.0939289Z           "evidence": []
2026-06-17T06:47:32.0939531Z         },
2026-06-17T06:47:32.0939683Z         "unit": {
2026-06-17T06:47:32.0939846Z           "complete": true,
2026-06-17T06:47:32.0939993Z           "evidence": [
2026-06-17T06:47:32.0940139Z             {
2026-06-17T06:47:32.0940334Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T06:47:32.0940490Z               "line": 1045
2026-06-17T06:47:32.0940630Z             },
2026-06-17T06:47:32.0940780Z             {
2026-06-17T06:47:32.0940982Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T06:47:32.0941134Z               "line": 1104
2026-06-17T06:47:32.0941278Z             }
2026-06-17T06:47:32.0941410Z           ]
2026-06-17T06:47:32.0941554Z         }
2026-06-17T06:47:32.0941687Z       }
2026-06-17T06:47:32.0941822Z     },
2026-06-17T06:47:32.0941968Z     {
2026-06-17T06:47:32.0942137Z       "id": "REQ-RUN-PICKER",
2026-06-17T06:47:32.0947543Z       "title": "Interactive `spt endpoint run` picker (ratatui TUI): bare `spt endpoint run` (no --adapter/--id) enters an in-process picker (flags-present = the REQ-HOST-RUN-1 non-interactive path, untouched). Layer 1 picks kind (Create new | Pick existing). Create-new: choose a registered kind=\"harness\" adapter with its shipped+local profiles tree-nested (registry::registered / manifest.profiles / local_profile_names) → enter a charset-validated id → start. Pick-existing: category select (left/right) over [<cwd-project> | Local node | Subnet], endpoints grouped + alphabetically sorted per category, a status square per endpoint (online green ■ / offline gray ▢ — the blue \"attached\" tri-state + Kick are DEFERRED to a broker attach-presence slice, M12-W2-RULING Q1), type-to-filter (`/`, nucleo-matcher), a pinned keybind legend, and a right-half two-pane description (harness adapter:profile · best-effort project history newest→oldest from the contextstore p-<project> branches, empty-if-none · `spt endpoint description`). Confirm layer offers status-dependent options — Attach/Start/View (rc pump / cmd_endpoint_run) · Instantiate-locally (remote) · Change-harness-adapter (offline) · Fork (cmd_fork) · Resume-from-history (offline+LOCAL only; enumerate spt_store::sessions::last_k, titles `<project> @ <ts> (…id5)`, feed session_id → cmd_endpoint_run --resume). A single action enum is the source of truth so a future tap-mode (phone PTY) layers on without re-coupling to keybinds. EVERY terminal action routes through cmd_endpoint_run / existing CLI fns — no second bringup path.",
2026-06-17T06:47:32.0947728Z       "requiredStages": [
2026-06-17T06:47:32.0947876Z         "doc",
2026-06-17T06:47:32.0948026Z         "impl",
2026-06-17T06:47:32.0948163Z         "unit"
2026-06-17T06:47:32.0948308Z       ],
2026-06-17T06:47:32.0948450Z       "stages": {
2026-06-17T06:47:32.0948594Z         "doc": {
2026-06-17T06:47:32.0948750Z           "complete": true,
2026-06-17T06:47:32.0948895Z           "evidence": [
2026-06-17T06:47:32.0949127Z             {
2026-06-17T06:47:32.0949290Z               "path": "CONTEXT.md",
2026-06-17T06:47:32.0949456Z               "line": 334
2026-06-17T06:47:32.0949594Z             }
2026-06-17T06:47:32.0949738Z           ]
2026-06-17T06:47:32.0949877Z         },
2026-06-17T06:47:32.0950024Z         "impl": {
2026-06-17T06:47:32.0950187Z           "complete": true,
2026-06-17T06:47:32.0950343Z           "evidence": [
2026-06-17T06:47:32.0950488Z             {
2026-06-17T06:47:32.0950662Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.0950819Z               "line": 922
2026-06-17T06:47:32.0951070Z             },
2026-06-17T06:47:32.0951209Z             {
2026-06-17T06:47:32.0951394Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.0951537Z               "line": 932
2026-06-17T06:47:32.0951689Z             },
2026-06-17T06:47:32.0951823Z             {
2026-06-17T06:47:32.0952004Z               "path": "crates/spt/src/picker/data.rs",
2026-06-17T06:47:32.0952157Z               "line": 9
2026-06-17T06:47:32.0952304Z             },
2026-06-17T06:47:32.0952453Z             {
2026-06-17T06:47:32.0952744Z               "path": "crates/spt/src/picker/data.rs",
2026-06-17T06:47:32.0952901Z               "line": 67
2026-06-17T06:47:32.0953045Z             },
2026-06-17T06:47:32.0953186Z             {
2026-06-17T06:47:32.0953372Z               "path": "crates/spt/src/picker/mod.rs",
2026-06-17T06:47:32.0953522Z               "line": 16
2026-06-17T06:47:32.0953675Z             },
2026-06-17T06:47:32.0953818Z             {
2026-06-17T06:47:32.0954004Z               "path": "crates/spt/src/picker/mod.rs",
2026-06-17T06:47:32.0954161Z               "line": 249
2026-06-17T06:47:32.0954305Z             },
2026-06-17T06:47:32.0954447Z             {
2026-06-17T06:47:32.0954620Z               "path": "crates/spt/src/picker/model.rs",
2026-06-17T06:47:32.0954771Z               "line": 11
2026-06-17T06:47:32.0954914Z             },
2026-06-17T06:47:32.0955057Z             {
2026-06-17T06:47:32.0955249Z               "path": "crates/spt/src/picker/model.rs",
2026-06-17T06:47:32.0955419Z               "line": 85
2026-06-17T06:47:32.0955569Z             },
2026-06-17T06:47:32.0955701Z             {
2026-06-17T06:47:32.0955898Z               "path": "crates/spt/src/picker/model.rs",
2026-06-17T06:47:32.0956053Z               "line": 452
2026-06-17T06:47:32.0956200Z             },
2026-06-17T06:47:32.0956331Z             {
2026-06-17T06:47:32.0956520Z               "path": "crates/spt/src/picker/model.rs",
2026-06-17T06:47:32.0956669Z               "line": 533
2026-06-17T06:47:32.0956801Z             },
2026-06-17T06:47:32.0956954Z             {
2026-06-17T06:47:32.0957140Z               "path": "crates/spt/src/picker/model.rs",
2026-06-17T06:47:32.0957292Z               "line": 586
2026-06-17T06:47:32.0961208Z             },
2026-06-17T06:47:32.0961510Z             {
2026-06-17T06:47:32.0961726Z               "path": "crates/spt/src/picker/view.rs",
2026-06-17T06:47:32.0961873Z               "line": 8
2026-06-17T06:47:32.0962021Z             }
2026-06-17T06:47:32.0962158Z           ]
2026-06-17T06:47:32.0962313Z         },
2026-06-17T06:47:32.0962455Z         "int": {
2026-06-17T06:47:32.0962617Z           "complete": false,
2026-06-17T06:47:32.0962765Z           "evidence": []
2026-06-17T06:47:32.0962893Z         },
2026-06-17T06:47:32.0963050Z         "unit": {
2026-06-17T06:47:32.0963198Z           "complete": true,
2026-06-17T06:47:32.0963351Z           "evidence": [
2026-06-17T06:47:32.0963490Z             {
2026-06-17T06:47:32.0963680Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.0963836Z               "line": 6969
2026-06-17T06:47:32.0963979Z             },
2026-06-17T06:47:32.0964115Z             {
2026-06-17T06:47:32.0964297Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.0964444Z               "line": 6980
2026-06-17T06:47:32.0964583Z             },
2026-06-17T06:47:32.0964725Z             {
2026-06-17T06:47:32.0964917Z               "path": "crates/spt/src/picker/model.rs",
2026-06-17T06:47:32.0965069Z               "line": 737
2026-06-17T06:47:32.0965222Z             },
2026-06-17T06:47:32.0965360Z             {
2026-06-17T06:47:32.0965556Z               "path": "crates/spt/src/picker/model.rs",
2026-06-17T06:47:32.0965708Z               "line": 744
2026-06-17T06:47:32.0965847Z             },
2026-06-17T06:47:32.0965994Z             {
2026-06-17T06:47:32.0966186Z               "path": "crates/spt/src/picker/model.rs",
2026-06-17T06:47:32.0966342Z               "line": 761
2026-06-17T06:47:32.0966477Z             },
2026-06-17T06:47:32.0966623Z             {
2026-06-17T06:47:32.0966947Z               "path": "crates/spt/src/picker/model.rs",
2026-06-17T06:47:32.0967105Z               "line": 781
2026-06-17T06:47:32.0967248Z             },
2026-06-17T06:47:32.0967385Z             {
2026-06-17T06:47:32.0967572Z               "path": "crates/spt/src/picker/model.rs",
2026-06-17T06:47:32.0967714Z               "line": 795
2026-06-17T06:47:32.0967857Z             },
2026-06-17T06:47:32.0968000Z             {
2026-06-17T06:47:32.0968186Z               "path": "crates/spt/src/picker/model.rs",
2026-06-17T06:47:32.0968435Z               "line": 804
2026-06-17T06:47:32.0968578Z             },
2026-06-17T06:47:32.0968717Z             {
2026-06-17T06:47:32.0968896Z               "path": "crates/spt/src/picker/model.rs",
2026-06-17T06:47:32.0969133Z               "line": 815
2026-06-17T06:47:32.0969265Z             },
2026-06-17T06:47:32.0969404Z             {
2026-06-17T06:47:32.0969594Z               "path": "crates/spt/src/picker/model.rs",
2026-06-17T06:47:32.0969747Z               "line": 837
2026-06-17T06:47:32.0969890Z             },
2026-06-17T06:47:32.0970029Z             {
2026-06-17T06:47:32.0970219Z               "path": "crates/spt/src/picker/model.rs",
2026-06-17T06:47:32.0970372Z               "line": 856
2026-06-17T06:47:32.0970504Z             },
2026-06-17T06:47:32.0970639Z             {
2026-06-17T06:47:32.0970829Z               "path": "crates/spt/src/picker/model.rs",
2026-06-17T06:47:32.0970988Z               "line": 893
2026-06-17T06:47:32.0971130Z             },
2026-06-17T06:47:32.0971269Z             {
2026-06-17T06:47:32.0971473Z               "path": "crates/spt/src/picker/model.rs",
2026-06-17T06:47:32.0971632Z               "line": 922
2026-06-17T06:47:32.0971773Z             },
2026-06-17T06:47:32.0971915Z             {
2026-06-17T06:47:32.0972104Z               "path": "crates/spt/src/picker/model.rs",
2026-06-17T06:47:32.0972247Z               "line": 935
2026-06-17T06:47:32.0972395Z             },
2026-06-17T06:47:32.0972543Z             {
2026-06-17T06:47:32.0972733Z               "path": "crates/spt/src/picker/model.rs",
2026-06-17T06:47:32.0972882Z               "line": 979
2026-06-17T06:47:32.0973020Z             },
2026-06-17T06:47:32.0973168Z             {
2026-06-17T06:47:32.0973344Z               "path": "crates/spt/src/picker/model.rs",
2026-06-17T06:47:32.0973507Z               "line": 1006
2026-06-17T06:47:32.0973648Z             },
2026-06-17T06:47:32.0973793Z             {
2026-06-17T06:47:32.0973982Z               "path": "crates/spt/src/picker/model.rs",
2026-06-17T06:47:32.0974141Z               "line": 1022
2026-06-17T06:47:32.0974282Z             },
2026-06-17T06:47:32.0974415Z             {
2026-06-17T06:47:32.0974604Z               "path": "crates/spt/src/picker/view.rs",
2026-06-17T06:47:32.0974752Z               "line": 419
2026-06-17T06:47:32.0974896Z             },
2026-06-17T06:47:32.0975042Z             {
2026-06-17T06:47:32.0975215Z               "path": "crates/spt/src/picker/view.rs",
2026-06-17T06:47:32.0975366Z               "line": 431
2026-06-17T06:47:32.0975510Z             },
2026-06-17T06:47:32.0975657Z             {
2026-06-17T06:47:32.0975848Z               "path": "crates/spt/src/picker/view.rs",
2026-06-17T06:47:32.0976006Z               "line": 449
2026-06-17T06:47:32.0976149Z             },
2026-06-17T06:47:32.0976278Z             {
2026-06-17T06:47:32.0976464Z               "path": "crates/spt/src/picker/view.rs",
2026-06-17T06:47:32.0976611Z               "line": 471
2026-06-17T06:47:32.0976760Z             },
2026-06-17T06:47:32.0976902Z             {
2026-06-17T06:47:32.0977089Z               "path": "crates/spt/src/picker/view.rs",
2026-06-17T06:47:32.0977235Z               "line": 481
2026-06-17T06:47:32.0977369Z             },
2026-06-17T06:47:32.0977517Z             {
2026-06-17T06:47:32.0977698Z               "path": "crates/spt/src/picker/view.rs",
2026-06-17T06:47:32.0977850Z               "line": 504
2026-06-17T06:47:32.0977994Z             }
2026-06-17T06:47:32.0978132Z           ]
2026-06-17T06:47:32.0978489Z         }
2026-06-17T06:47:32.0978638Z       }
2026-06-17T06:47:32.0978780Z     },
2026-06-17T06:47:32.0978919Z     {
2026-06-17T06:47:32.0979175Z       "id": "REQ-RUN-SHORTCUT",
2026-06-17T06:47:32.0984476Z       "title": "`<basename>-<id>` launcher shortcut generation (picker `s` keybind, M12-W2-T2.4): from any pre-start options set the picker writes/updates a `<basename>-<id>` launcher at the project root baking the current selection's non-interactive `spt endpoint run` flags (terminal actions only: adapter[:profile] + id + (create|resume) + (start|attach|view); Kick/Instantiate/Change-adapter/Fork are interactive-only, not bakeable). BASENAME IS A PARAMETER (operator rev. 2026-06-14): harness-agnostic spt-core defaults to `spt` (→ `spt-<id>`); an adapter/flow OVERRIDES it (spt-claude-code → `cc`), so spt-core NEVER bakes `cc` (a harness name) into itself. The basename must be a DISTINCT token, never bare `spt` (a `spt.cmd` would shadow the real `spt.exe` only under cmd.exe cwd-first search, silently no-op in PowerShell/Unix, and self-recurse). The script is the CURRENT OS's native form — `.cmd` on Windows (NOT `.ps1`: default PATHEXT excludes `.ps1` so a bare/ext-less name never resolves one; `.cmd` is PATHEXT-resolvable), POSIX `sh` (+chmod +x) on Unix (a single portable form can't be both). The generated header documents the invocation reality (cmd.exe bare `<name>` in the project dir / PowerShell `.\\<name>` / Unix `./<name>`; a truly-bare basename on PATH = a PATH-installed launcher, `/spt:setup`'s job). Overwrite is SENTINEL-guarded: the generator writes + checks a generated-by header marker — it overwrites its own prior output freely, but REFUSES + warns if a same-named file lacks the sentinel (never clobber a user file). Requires the additive `--create` flag on `Run{}` (the default-fresh made explicit; N-1-safe).",
2026-06-17T06:47:32.0984787Z       "requiredStages": [
2026-06-17T06:47:32.0984937Z         "doc",
2026-06-17T06:47:32.0985081Z         "impl",
2026-06-17T06:47:32.0985235Z         "unit"
2026-06-17T06:47:32.0985379Z       ],
2026-06-17T06:47:32.0985526Z       "stages": {
2026-06-17T06:47:32.0985670Z         "doc": {
2026-06-17T06:47:32.0985831Z           "complete": true,
2026-06-17T06:47:32.0985990Z           "evidence": [
2026-06-17T06:47:32.0986137Z             {
2026-06-17T06:47:32.0986295Z               "path": "CONTEXT.md",
2026-06-17T06:47:32.0986442Z               "line": 357
2026-06-17T06:47:32.0986585Z             }
2026-06-17T06:47:32.0986728Z           ]
2026-06-17T06:47:32.0986876Z         },
2026-06-17T06:47:32.0987019Z         "impl": {
2026-06-17T06:47:32.0987181Z           "complete": true,
2026-06-17T06:47:32.0987334Z           "evidence": [
2026-06-17T06:47:32.0987482Z             {
2026-06-17T06:47:32.0987686Z               "path": "crates/spt/src/picker/shortcut.rs",
2026-06-17T06:47:32.0987828Z               "line": 39
2026-06-17T06:47:32.0987977Z             },
2026-06-17T06:47:32.0988119Z             {
2026-06-17T06:47:32.0988306Z               "path": "crates/spt/src/picker/shortcut.rs",
2026-06-17T06:47:32.0988467Z               "line": 79
2026-06-17T06:47:32.0988606Z             },
2026-06-17T06:47:32.0988753Z             {
2026-06-17T06:47:32.0989030Z               "path": "crates/spt/src/picker/shortcut.rs",
2026-06-17T06:47:32.0989184Z               "line": 162
2026-06-17T06:47:32.0989326Z             }
2026-06-17T06:47:32.0989465Z           ]
2026-06-17T06:47:32.0989612Z         },
2026-06-17T06:47:32.0989755Z         "int": {
2026-06-17T06:47:32.0989913Z           "complete": false,
2026-06-17T06:47:32.0990054Z           "evidence": []
2026-06-17T06:47:32.0990202Z         },
2026-06-17T06:47:32.0990347Z         "unit": {
2026-06-17T06:47:32.0990495Z           "complete": true,
2026-06-17T06:47:32.0990653Z           "evidence": [
2026-06-17T06:47:32.0990792Z             {
2026-06-17T06:47:32.0990991Z               "path": "crates/spt/src/picker/shortcut.rs",
2026-06-17T06:47:32.0991135Z               "line": 206
2026-06-17T06:47:32.0991282Z             },
2026-06-17T06:47:32.0991526Z             {
2026-06-17T06:47:32.0991711Z               "path": "crates/spt/src/picker/shortcut.rs",
2026-06-17T06:47:32.0991864Z               "line": 222
2026-06-17T06:47:32.0992007Z             },
2026-06-17T06:47:32.0992150Z             {
2026-06-17T06:47:32.0992341Z               "path": "crates/spt/src/picker/shortcut.rs",
2026-06-17T06:47:32.0992493Z               "line": 238
2026-06-17T06:47:32.0992637Z             },
2026-06-17T06:47:32.0992780Z             {
2026-06-17T06:47:32.0993069Z               "path": "crates/spt/src/picker/shortcut.rs",
2026-06-17T06:47:32.0993214Z               "line": 251
2026-06-17T06:47:32.0993358Z             },
2026-06-17T06:47:32.0993496Z             {
2026-06-17T06:47:32.0993683Z               "path": "crates/spt/src/picker/shortcut.rs",
2026-06-17T06:47:32.0993839Z               "line": 258
2026-06-17T06:47:32.0993978Z             }
2026-06-17T06:47:32.0994122Z           ]
2026-06-17T06:47:32.0994249Z         }
2026-06-17T06:47:32.0994402Z       }
2026-06-17T06:47:32.0994535Z     },
2026-06-17T06:47:32.0994679Z     {
2026-06-17T06:47:32.0994845Z       "id": "REQ-SEAM-ACTIVITY",
2026-06-17T06:47:32.0995117Z       "title": "Activity/idle reported via api sentinels, not PTY quiescence",
2026-06-17T06:47:32.0995281Z       "requiredStages": [
2026-06-17T06:47:32.0995422Z         "impl",
2026-06-17T06:47:32.0995569Z         "unit"
2026-06-17T06:47:32.0995697Z       ],
2026-06-17T06:47:32.0995843Z       "stages": {
2026-06-17T06:47:32.0995992Z         "doc": {
2026-06-17T06:47:32.0996153Z           "complete": false,
2026-06-17T06:47:32.0996311Z           "evidence": []
2026-06-17T06:47:32.0996449Z         },
2026-06-17T06:47:32.0996598Z         "impl": {
2026-06-17T06:47:32.0996754Z           "complete": true,
2026-06-17T06:47:32.0996903Z           "evidence": [
2026-06-17T06:47:32.0997045Z             {
2026-06-17T06:47:32.0997237Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-17T06:47:32.0997388Z               "line": 18
2026-06-17T06:47:32.0997528Z             },
2026-06-17T06:47:32.0997660Z             {
2026-06-17T06:47:32.0997852Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-17T06:47:32.0997994Z               "line": 35
2026-06-17T06:47:32.0998138Z             },
2026-06-17T06:47:32.0998279Z             {
2026-06-17T06:47:32.0998470Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-17T06:47:32.0998617Z               "line": 72
2026-06-17T06:47:32.0998756Z             }
2026-06-17T06:47:32.0998900Z           ]
2026-06-17T06:47:32.0999124Z         },
2026-06-17T06:47:32.0999271Z         "int": {
2026-06-17T06:47:32.0999429Z           "complete": false,
2026-06-17T06:47:32.0999581Z           "evidence": []
2026-06-17T06:47:32.0999719Z         },
2026-06-17T06:47:32.0999867Z         "unit": {
2026-06-17T06:47:32.1000020Z           "complete": true,
2026-06-17T06:47:32.1000167Z           "evidence": [
2026-06-17T06:47:32.1000301Z             {
2026-06-17T06:47:32.1000482Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-17T06:47:32.1000643Z               "line": 239
2026-06-17T06:47:32.1000785Z             },
2026-06-17T06:47:32.1000926Z             {
2026-06-17T06:47:32.1001114Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-17T06:47:32.1001269Z               "line": 256
2026-06-17T06:47:32.1001409Z             },
2026-06-17T06:47:32.1001551Z             {
2026-06-17T06:47:32.1001733Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-17T06:47:32.1001889Z               "line": 265
2026-06-17T06:47:32.1002029Z             }
2026-06-17T06:47:32.1002162Z           ]
2026-06-17T06:47:32.1002306Z         }
2026-06-17T06:47:32.1002438Z       }
2026-06-17T06:47:32.1002572Z     },
2026-06-17T06:47:32.1002710Z     {
2026-06-17T06:47:32.1002867Z       "id": "REQ-SEAM-CAPABILITY",
2026-06-17T06:47:32.1003096Z       "title": "Hostable endpoint-types capability declaration",
2026-06-17T06:47:32.1003245Z       "requiredStages": [
2026-06-17T06:47:32.1003392Z         "impl",
2026-06-17T06:47:32.1003634Z         "unit"
2026-06-17T06:47:32.1003775Z       ],
2026-06-17T06:47:32.1003923Z       "stages": {
2026-06-17T06:47:32.1004066Z         "doc": {
2026-06-17T06:47:32.1004224Z           "complete": false,
2026-06-17T06:47:32.1004371Z           "evidence": []
2026-06-17T06:47:32.1004514Z         },
2026-06-17T06:47:32.1004662Z         "impl": {
2026-06-17T06:47:32.1004814Z           "complete": true,
2026-06-17T06:47:32.1004967Z           "evidence": [
2026-06-17T06:47:32.1005211Z             {
2026-06-17T06:47:32.1005410Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T06:47:32.1005559Z               "line": 594
2026-06-17T06:47:32.1005701Z             }
2026-06-17T06:47:32.1005845Z           ]
2026-06-17T06:47:32.1005986Z         },
2026-06-17T06:47:32.1006134Z         "int": {
2026-06-17T06:47:32.1006285Z           "complete": false,
2026-06-17T06:47:32.1006432Z           "evidence": []
2026-06-17T06:47:32.1006562Z         },
2026-06-17T06:47:32.1006708Z         "unit": {
2026-06-17T06:47:32.1006866Z           "complete": true,
2026-06-17T06:47:32.1007004Z           "evidence": [
2026-06-17T06:47:32.1007148Z             {
2026-06-17T06:47:32.1007328Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T06:47:32.1007482Z               "line": 963
2026-06-17T06:47:32.1007614Z             }
2026-06-17T06:47:32.1007754Z           ]
2026-06-17T06:47:32.1007897Z         }
2026-06-17T06:47:32.1008035Z       }
2026-06-17T06:47:32.1008177Z     },
2026-06-17T06:47:32.1008311Z     {
2026-06-17T06:47:32.1008478Z       "id": "REQ-SEAM-HISTORY",
2026-06-17T06:47:32.1008741Z       "title": "History subsystem (fetcher / locate-normalize / native store)",
2026-06-17T06:47:32.1008906Z       "requiredStages": [
2026-06-17T06:47:32.1009140Z         "impl",
2026-06-17T06:47:32.1009282Z         "unit",
2026-06-17T06:47:32.1009421Z         "int"
2026-06-17T06:47:32.1009559Z       ],
2026-06-17T06:47:32.1009708Z       "stages": {
2026-06-17T06:47:32.1009849Z         "doc": {
2026-06-17T06:47:32.1010013Z           "complete": false,
2026-06-17T06:47:32.1010169Z           "evidence": []
2026-06-17T06:47:32.1010304Z         },
2026-06-17T06:47:32.1010436Z         "impl": {
2026-06-17T06:47:32.1010590Z           "complete": true,
2026-06-17T06:47:32.1010732Z           "evidence": [
2026-06-17T06:47:32.1010870Z             {
2026-06-17T06:47:32.1011065Z               "path": "crates/spt-live/src/echo.rs",
2026-06-17T06:47:32.1011207Z               "line": 24
2026-06-17T06:47:32.1011359Z             },
2026-06-17T06:47:32.1011500Z             {
2026-06-17T06:47:32.1011683Z               "path": "crates/spt-live/src/history.rs",
2026-06-17T06:47:32.1011839Z               "line": 22
2026-06-17T06:47:32.1011979Z             }
2026-06-17T06:47:32.1012116Z           ]
2026-06-17T06:47:32.1012255Z         },
2026-06-17T06:47:32.1012397Z         "int": {
2026-06-17T06:47:32.1012547Z           "complete": true,
2026-06-17T06:47:32.1012684Z           "evidence": [
2026-06-17T06:47:32.1012827Z             {
2026-06-17T06:47:32.1013027Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-17T06:47:32.1013181Z               "line": 260
2026-06-17T06:47:32.1013322Z             }
2026-06-17T06:47:32.1013462Z           ]
2026-06-17T06:47:32.1013604Z         },
2026-06-17T06:47:32.1013752Z         "unit": {
2026-06-17T06:47:32.1013905Z           "complete": true,
2026-06-17T06:47:32.1014051Z           "evidence": [
2026-06-17T06:47:32.1014194Z             {
2026-06-17T06:47:32.1014377Z               "path": "crates/spt-live/src/echo.rs",
2026-06-17T06:47:32.1014527Z               "line": 171
2026-06-17T06:47:32.1014668Z             },
2026-06-17T06:47:32.1014803Z             {
2026-06-17T06:47:32.1014993Z               "path": "crates/spt-live/src/echo.rs",
2026-06-17T06:47:32.1015132Z               "line": 200
2026-06-17T06:47:32.1015279Z             },
2026-06-17T06:47:32.1015423Z             {
2026-06-17T06:47:32.1015608Z               "path": "crates/spt-live/src/echo.rs",
2026-06-17T06:47:32.1015861Z               "line": 220
2026-06-17T06:47:32.1015999Z             },
2026-06-17T06:47:32.1016148Z             {
2026-06-17T06:47:32.1016334Z               "path": "crates/spt-live/src/history.rs",
2026-06-17T06:47:32.1016486Z               "line": 199
2026-06-17T06:47:32.1016632Z             },
2026-06-17T06:47:32.1016775Z             {
2026-06-17T06:47:32.1016977Z               "path": "crates/spt-live/src/history.rs",
2026-06-17T06:47:32.1017127Z               "line": 219
2026-06-17T06:47:32.1017375Z             },
2026-06-17T06:47:32.1017512Z             {
2026-06-17T06:47:32.1017704Z               "path": "crates/spt-live/src/history.rs",
2026-06-17T06:47:32.1017864Z               "line": 244
2026-06-17T06:47:32.1017999Z             },
2026-06-17T06:47:32.1018142Z             {
2026-06-17T06:47:32.1018333Z               "path": "crates/spt-live/src/history.rs",
2026-06-17T06:47:32.1018490Z               "line": 276
2026-06-17T06:47:32.1018619Z             },
2026-06-17T06:47:32.1018765Z             {
2026-06-17T06:47:32.1019034Z               "path": "crates/spt-live/src/history.rs",
2026-06-17T06:47:32.1019186Z               "line": 297
2026-06-17T06:47:32.1019330Z             },
2026-06-17T06:47:32.1019471Z             {
2026-06-17T06:47:32.1019657Z               "path": "crates/spt-live/src/history.rs",
2026-06-17T06:47:32.1019819Z               "line": 324
2026-06-17T06:47:32.1019958Z             }
2026-06-17T06:47:32.1020104Z           ]
2026-06-17T06:47:32.1020249Z         }
2026-06-17T06:47:32.1020391Z       }
2026-06-17T06:47:32.1020525Z     },
2026-06-17T06:47:32.1020672Z     {
2026-06-17T06:47:32.1020835Z       "id": "REQ-SEAM-INJECT",
2026-06-17T06:47:32.1021087Z       "title": "inject-input methods configurable per activity-state",
2026-06-17T06:47:32.1021236Z       "requiredStages": [
2026-06-17T06:47:32.1021382Z         "impl",
2026-06-17T06:47:32.1021527Z         "unit"
2026-06-17T06:47:32.1021659Z       ],
2026-06-17T06:47:32.1021806Z       "stages": {
2026-06-17T06:47:32.1021957Z         "doc": {
2026-06-17T06:47:32.1022119Z           "complete": false,
2026-06-17T06:47:32.1022267Z           "evidence": []
2026-06-17T06:47:32.1022404Z         },
2026-06-17T06:47:32.1022558Z         "impl": {
2026-06-17T06:47:32.1022705Z           "complete": true,
2026-06-17T06:47:32.1022853Z           "evidence": [
2026-06-17T06:47:32.1022991Z             {
2026-06-17T06:47:32.1023187Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-17T06:47:32.1023334Z               "line": 19
2026-06-17T06:47:32.1023487Z             },
2026-06-17T06:47:32.1023630Z             {
2026-06-17T06:47:32.1023821Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-17T06:47:32.1023978Z               "line": 111
2026-06-17T06:47:32.1024117Z             }
2026-06-17T06:47:32.1024255Z           ]
2026-06-17T06:47:32.1024399Z         },
2026-06-17T06:47:32.1024540Z         "int": {
2026-06-17T06:47:32.1024702Z           "complete": false,
2026-06-17T06:47:32.1024847Z           "evidence": []
2026-06-17T06:47:32.1025000Z         },
2026-06-17T06:47:32.1025144Z         "unit": {
2026-06-17T06:47:32.1025305Z           "complete": true,
2026-06-17T06:47:32.1025449Z           "evidence": [
2026-06-17T06:47:32.1025590Z             {
2026-06-17T06:47:32.1025782Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-17T06:47:32.1025930Z               "line": 345
2026-06-17T06:47:32.1026078Z             },
2026-06-17T06:47:32.1026206Z             {
2026-06-17T06:47:32.1026411Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-17T06:47:32.1026564Z               "line": 365
2026-06-17T06:47:32.1026708Z             }
2026-06-17T06:47:32.1026845Z           ]
2026-06-17T06:47:32.1026980Z         }
2026-06-17T06:47:32.1027126Z       }
2026-06-17T06:47:32.1027264Z     },
2026-06-17T06:47:32.1027396Z     {
2026-06-17T06:47:32.1027562Z       "id": "REQ-SEAM-POSTSPAWN",
2026-06-17T06:47:32.1027776Z       "title": "post-spawn / api bind seam with boot nonce",
2026-06-17T06:47:32.1028044Z       "requiredStages": [
2026-06-17T06:47:32.1028186Z         "impl",
2026-06-17T06:47:32.1028330Z         "unit"
2026-06-17T06:47:32.1028458Z       ],
2026-06-17T06:47:32.1028602Z       "stages": {
2026-06-17T06:47:32.1028749Z         "doc": {
2026-06-17T06:47:32.1028908Z           "complete": false,
2026-06-17T06:47:32.1029150Z           "evidence": []
2026-06-17T06:47:32.1029293Z         },
2026-06-17T06:47:32.1029436Z         "impl": {
2026-06-17T06:47:32.1029589Z           "complete": true,
2026-06-17T06:47:32.1029847Z           "evidence": [
2026-06-17T06:47:32.1029993Z             {
2026-06-17T06:47:32.1030184Z               "path": "crates/spt/src/api/startup.rs",
2026-06-17T06:47:32.1030340Z               "line": 18
2026-06-17T06:47:32.1030484Z             },
2026-06-17T06:47:32.1030632Z             {
2026-06-17T06:47:32.1030823Z               "path": "crates/spt/src/api/startup.rs",
2026-06-17T06:47:32.1030975Z               "line": 330
2026-06-17T06:47:32.1031114Z             }
2026-06-17T06:47:32.1031247Z           ]
2026-06-17T06:47:32.1031395Z         },
2026-06-17T06:47:32.1031537Z         "int": {
2026-06-17T06:47:32.1031705Z           "complete": false,
2026-06-17T06:47:32.1031848Z           "evidence": []
2026-06-17T06:47:32.1031986Z         },
2026-06-17T06:47:32.1032135Z         "unit": {
2026-06-17T06:47:32.1032290Z           "complete": true,
2026-06-17T06:47:32.1032443Z           "evidence": [
2026-06-17T06:47:32.1032579Z             {
2026-06-17T06:47:32.1032770Z               "path": "crates/spt/src/api/startup.rs",
2026-06-17T06:47:32.1032926Z               "line": 604
2026-06-17T06:47:32.1033075Z             },
2026-06-17T06:47:32.1033222Z             {
2026-06-17T06:47:32.1033399Z               "path": "crates/spt/src/api/startup.rs",
2026-06-17T06:47:32.1033565Z               "line": 614
2026-06-17T06:47:32.1033705Z             }
2026-06-17T06:47:32.1033851Z           ]
2026-06-17T06:47:32.1033986Z         }
2026-06-17T06:47:32.1034129Z       }
2026-06-17T06:47:32.1034262Z     },
2026-06-17T06:47:32.1034400Z     {
2026-06-17T06:47:32.1034567Z       "id": "REQ-SEAM-PSYCHE",
2026-06-17T06:47:32.1034786Z       "title": "spawn-psyche seam (fresh + resume templates)",
2026-06-17T06:47:32.1034950Z       "requiredStages": [
2026-06-17T06:47:32.1035091Z         "impl",
2026-06-17T06:47:32.1035234Z         "unit",
2026-06-17T06:47:32.1035379Z         "int"
2026-06-17T06:47:32.1035516Z       ],
2026-06-17T06:47:32.1035666Z       "stages": {
2026-06-17T06:47:32.1035803Z         "doc": {
2026-06-17T06:47:32.1035971Z           "complete": false,
2026-06-17T06:47:32.1036123Z           "evidence": []
2026-06-17T06:47:32.1036266Z         },
2026-06-17T06:47:32.1036408Z         "impl": {
2026-06-17T06:47:32.1036567Z           "complete": true,
2026-06-17T06:47:32.1036733Z           "evidence": [
2026-06-17T06:47:32.1036873Z             {
2026-06-17T06:47:32.1037057Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-17T06:47:32.1037197Z               "line": 19
2026-06-17T06:47:32.1037348Z             },
2026-06-17T06:47:32.1037488Z             {
2026-06-17T06:47:32.1037672Z               "path": "crates/spt/src/api/live.rs",
2026-06-17T06:47:32.1037814Z               "line": 12
2026-06-17T06:47:32.1037956Z             },
2026-06-17T06:47:32.1038108Z             {
2026-06-17T06:47:32.1038289Z               "path": "crates/spt/src/api/startup.rs",
2026-06-17T06:47:32.1038446Z               "line": 233
2026-06-17T06:47:32.1038595Z             }
2026-06-17T06:47:32.1038742Z           ]
2026-06-17T06:47:32.1038890Z         },
2026-06-17T06:47:32.1039115Z         "int": {
2026-06-17T06:47:32.1039276Z           "complete": true,
2026-06-17T06:47:32.1039420Z           "evidence": [
2026-06-17T06:47:32.1039567Z             {
2026-06-17T06:47:32.1039768Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-17T06:47:32.1039920Z               "line": 259
2026-06-17T06:47:32.1040059Z             }
2026-06-17T06:47:32.1040201Z           ]
2026-06-17T06:47:32.1040345Z         },
2026-06-17T06:47:32.1040600Z         "unit": {
2026-06-17T06:47:32.1040769Z           "complete": true,
2026-06-17T06:47:32.1040915Z           "evidence": [
2026-06-17T06:47:32.1041054Z             {
2026-06-17T06:47:32.1041239Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-17T06:47:32.1041383Z               "line": 161
2026-06-17T06:47:32.1041535Z             },
2026-06-17T06:47:32.1041669Z             {
2026-06-17T06:47:32.1041859Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-17T06:47:32.1042107Z               "line": 168
2026-06-17T06:47:32.1042241Z             },
2026-06-17T06:47:32.1042394Z             {
2026-06-17T06:47:32.1042575Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-17T06:47:32.1042727Z               "line": 191
2026-06-17T06:47:32.1042878Z             },
2026-06-17T06:47:32.1043022Z             {
2026-06-17T06:47:32.1043205Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-17T06:47:32.1043354Z               "line": 106
2026-06-17T06:47:32.1043501Z             },
2026-06-17T06:47:32.1043631Z             {
2026-06-17T06:47:32.1043825Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-17T06:47:32.1043978Z               "line": 137
2026-06-17T06:47:32.1044120Z             },
2026-06-17T06:47:32.1044270Z             {
2026-06-17T06:47:32.1044459Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-17T06:47:32.1044613Z               "line": 161
2026-06-17T06:47:32.1044755Z             }
2026-06-17T06:47:32.1044909Z           ]
2026-06-17T06:47:32.1045055Z         }
2026-06-17T06:47:32.1045190Z       }
2026-06-17T06:47:32.1045331Z     },
2026-06-17T06:47:32.1045476Z     {
2026-06-17T06:47:32.1045637Z       "id": "REQ-SEAM-RESUME",
2026-06-17T06:47:32.1045912Z       "title": "resume-session seam (fresh-with-preload / continue-existing)",
2026-06-17T06:47:32.1046077Z       "requiredStages": [
2026-06-17T06:47:32.1046226Z         "impl",
2026-06-17T06:47:32.1046373Z         "unit"
2026-06-17T06:47:32.1046512Z       ],
2026-06-17T06:47:32.1046644Z       "stages": {
2026-06-17T06:47:32.1046794Z         "doc": {
2026-06-17T06:47:32.1046940Z           "complete": false,
2026-06-17T06:47:32.1047098Z           "evidence": []
2026-06-17T06:47:32.1047246Z         },
2026-06-17T06:47:32.1047379Z         "impl": {
2026-06-17T06:47:32.1047536Z           "complete": true,
2026-06-17T06:47:32.1047689Z           "evidence": [
2026-06-17T06:47:32.1047832Z             {
2026-06-17T06:47:32.1048019Z               "path": "crates/spt-live/src/resume.rs",
2026-06-17T06:47:32.1048180Z               "line": 19
2026-06-17T06:47:32.1048326Z             }
2026-06-17T06:47:32.1048455Z           ]
2026-06-17T06:47:32.1048596Z         },
2026-06-17T06:47:32.1048740Z         "int": {
2026-06-17T06:47:32.1048901Z           "complete": false,
2026-06-17T06:47:32.1049131Z           "evidence": []
2026-06-17T06:47:32.1049273Z         },
2026-06-17T06:47:32.1049426Z         "unit": {
2026-06-17T06:47:32.1049574Z           "complete": true,
2026-06-17T06:47:32.1049727Z           "evidence": [
2026-06-17T06:47:32.1049864Z             {
2026-06-17T06:47:32.1050046Z               "path": "crates/spt-live/src/resume.rs",
2026-06-17T06:47:32.1050194Z               "line": 201
2026-06-17T06:47:32.1050338Z             },
2026-06-17T06:47:32.1050480Z             {
2026-06-17T06:47:32.1050667Z               "path": "crates/spt-live/src/resume.rs",
2026-06-17T06:47:32.1050828Z               "line": 223
2026-06-17T06:47:32.1050958Z             },
2026-06-17T06:47:32.1051109Z             {
2026-06-17T06:47:32.1051294Z               "path": "crates/spt-live/src/resume.rs",
2026-06-17T06:47:32.1051452Z               "line": 244
2026-06-17T06:47:32.1051595Z             }
2026-06-17T06:47:32.1051738Z           ]
2026-06-17T06:47:32.1051881Z         }
2026-06-17T06:47:32.1052019Z       }
2026-06-17T06:47:32.1052162Z     },
2026-06-17T06:47:32.1052296Z     {
2026-06-17T06:47:32.1052457Z       "id": "REQ-SEAM-SPAWN",
2026-06-17T06:47:32.1052625Z       "title": "spawn-session seam",
2026-06-17T06:47:32.1052897Z       "requiredStages": [
2026-06-17T06:47:32.1053045Z         "impl",
2026-06-17T06:47:32.1053189Z         "unit"
2026-06-17T06:47:32.1053335Z       ],
2026-06-17T06:47:32.1053482Z       "stages": {
2026-06-17T06:47:32.1053628Z         "doc": {
2026-06-17T06:47:32.1053784Z           "complete": false,
2026-06-17T06:47:32.1053934Z           "evidence": []
2026-06-17T06:47:32.1054080Z         },
2026-06-17T06:47:32.1054224Z         "impl": {
2026-06-17T06:47:32.1054390Z           "complete": true,
2026-06-17T06:47:32.1054638Z           "evidence": [
2026-06-17T06:47:32.1054777Z             {
2026-06-17T06:47:32.1054977Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-17T06:47:32.1055125Z               "line": 20
2026-06-17T06:47:32.1055263Z             }
2026-06-17T06:47:32.1055412Z           ]
2026-06-17T06:47:32.1055558Z         },
2026-06-17T06:47:32.1055707Z         "int": {
2026-06-17T06:47:32.1055868Z           "complete": false,
2026-06-17T06:47:32.1056027Z           "evidence": []
2026-06-17T06:47:32.1056174Z         },
2026-06-17T06:47:32.1056320Z         "unit": {
2026-06-17T06:47:32.1056472Z           "complete": true,
2026-06-17T06:47:32.1056628Z           "evidence": [
2026-06-17T06:47:32.1056762Z             {
2026-06-17T06:47:32.1056966Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-17T06:47:32.1057129Z               "line": 566
2026-06-17T06:47:32.1057271Z             },
2026-06-17T06:47:32.1057415Z             {
2026-06-17T06:47:32.1057615Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-17T06:47:32.1057777Z               "line": 573
2026-06-17T06:47:32.1057906Z             },
2026-06-17T06:47:32.1058040Z             {
2026-06-17T06:47:32.1058240Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-17T06:47:32.1058392Z               "line": 679
2026-06-17T06:47:32.1058535Z             },
2026-06-17T06:47:32.1058670Z             {
2026-06-17T06:47:32.1058872Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-17T06:47:32.1059109Z               "line": 685
2026-06-17T06:47:32.1059252Z             },
2026-06-17T06:47:32.1059395Z             {
2026-06-17T06:47:32.1059581Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-17T06:47:32.1059743Z               "line": 710
2026-06-17T06:47:32.1059886Z             },
2026-06-17T06:47:32.1060025Z             {
2026-06-17T06:47:32.1060211Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-17T06:47:32.1060368Z               "line": 747
2026-06-17T06:47:32.1060511Z             }
2026-06-17T06:47:32.1060649Z           ]
2026-06-17T06:47:32.1060792Z         }
2026-06-17T06:47:32.1060931Z       }
2026-06-17T06:47:32.1061078Z     },
2026-06-17T06:47:32.1061218Z     {
2026-06-17T06:47:32.1061379Z       "id": "REQ-SEAM-UPDATE",
2026-06-17T06:47:32.1061631Z       "title": "Adapter-update avenue (file-pull / delegated command)",
2026-06-17T06:47:32.1061797Z       "requiredStages": [
2026-06-17T06:47:32.1061941Z         "impl",
2026-06-17T06:47:32.1062083Z         "unit"
2026-06-17T06:47:32.1062227Z       ],
2026-06-17T06:47:32.1062373Z       "stages": {
2026-06-17T06:47:32.1062518Z         "doc": {
2026-06-17T06:47:32.1062684Z           "complete": false,
2026-06-17T06:47:32.1062832Z           "evidence": []
2026-06-17T06:47:32.1062979Z         },
2026-06-17T06:47:32.1063128Z         "impl": {
2026-06-17T06:47:32.1063285Z           "complete": true,
2026-06-17T06:47:32.1063434Z           "evidence": [
2026-06-17T06:47:32.1063585Z             {
2026-06-17T06:47:32.1063895Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-17T06:47:32.1064118Z               "line": 28
2026-06-17T06:47:32.1064268Z             },
2026-06-17T06:47:32.1064407Z             {
2026-06-17T06:47:32.1064621Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-17T06:47:32.1064765Z               "line": 88
2026-06-17T06:47:32.1064907Z             }
2026-06-17T06:47:32.1065051Z           ]
2026-06-17T06:47:32.1065184Z         },
2026-06-17T06:47:32.1065442Z         "int": {
2026-06-17T06:47:32.1065589Z           "complete": false,
2026-06-17T06:47:32.1065752Z           "evidence": []
2026-06-17T06:47:32.1065889Z         },
2026-06-17T06:47:32.1066034Z         "unit": {
2026-06-17T06:47:32.1066195Z           "complete": true,
2026-06-17T06:47:32.1066344Z           "evidence": [
2026-06-17T06:47:32.1066491Z             {
2026-06-17T06:47:32.1066683Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-17T06:47:32.1066943Z               "line": 326
2026-06-17T06:47:32.1067084Z             },
2026-06-17T06:47:32.1067231Z             {
2026-06-17T06:47:32.1067450Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-17T06:47:32.1067589Z               "line": 337
2026-06-17T06:47:32.1067728Z             }
2026-06-17T06:47:32.1067865Z           ]
2026-06-17T06:47:32.1068003Z         }
2026-06-17T06:47:32.1068141Z       }
2026-06-17T06:47:32.1068286Z     },
2026-06-17T06:47:32.1068427Z     {
2026-06-17T06:47:32.1068591Z       "id": "REQ-SEC-1",
2026-06-17T06:47:32.1069168Z       "title": "Per-endpoint access whitelist: origin-node gate, stateful-firewall (reply/outbound exempt), node-now/user-later, outer gate before grants",
2026-06-17T06:47:32.1069328Z       "requiredStages": [
2026-06-17T06:47:32.1072801Z         "impl",
2026-06-17T06:47:32.1072977Z         "unit"
2026-06-17T06:47:32.1073116Z       ],
2026-06-17T06:47:32.1073267Z       "stages": {
2026-06-17T06:47:32.1073406Z         "doc": {
2026-06-17T06:47:32.1073582Z           "complete": false,
2026-06-17T06:47:32.1073726Z           "evidence": []
2026-06-17T06:47:32.1073874Z         },
2026-06-17T06:47:32.1074018Z         "impl": {
2026-06-17T06:47:32.1074179Z           "complete": true,
2026-06-17T06:47:32.1074333Z           "evidence": [
2026-06-17T06:47:32.1074474Z             {
2026-06-17T06:47:32.1074678Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-17T06:47:32.1074824Z               "line": 86
2026-06-17T06:47:32.1074972Z             },
2026-06-17T06:47:32.1075110Z             {
2026-06-17T06:47:32.1075316Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-17T06:47:32.1075467Z               "line": 116
2026-06-17T06:47:32.1075611Z             },
2026-06-17T06:47:32.1075763Z             {
2026-06-17T06:47:32.1075959Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-17T06:47:32.1076116Z               "line": 130
2026-06-17T06:47:32.1076260Z             },
2026-06-17T06:47:32.1076412Z             {
2026-06-17T06:47:32.1076617Z               "path": "crates/spt-store/src/access.rs",
2026-06-17T06:47:32.1076769Z               "line": 109
2026-06-17T06:47:32.1076913Z             },
2026-06-17T06:47:32.1077056Z             {
2026-06-17T06:47:32.1077247Z               "path": "crates/spt-store/src/access.rs",
2026-06-17T06:47:32.1077412Z               "line": 130
2026-06-17T06:47:32.1077540Z             },
2026-06-17T06:47:32.1077686Z             {
2026-06-17T06:47:32.1077878Z               "path": "crates/spt-store/src/access.rs",
2026-06-17T06:47:32.1078038Z               "line": 143
2026-06-17T06:47:32.1078183Z             },
2026-06-17T06:47:32.1078320Z             {
2026-06-17T06:47:32.1078512Z               "path": "crates/spt-store/src/access.rs",
2026-06-17T06:47:32.1078663Z               "line": 209
2026-06-17T06:47:32.1078807Z             },
2026-06-17T06:47:32.1079026Z             {
2026-06-17T06:47:32.1079212Z               "path": "crates/spt-store/src/access.rs",
2026-06-17T06:47:32.1079374Z               "line": 235
2026-06-17T06:47:32.1079518Z             },
2026-06-17T06:47:32.1079665Z             {
2026-06-17T06:47:32.1079838Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1079997Z               "line": 5000
2026-06-17T06:47:32.1080136Z             }
2026-06-17T06:47:32.1080267Z           ]
2026-06-17T06:47:32.1080401Z         },
2026-06-17T06:47:32.1080553Z         "int": {
2026-06-17T06:47:32.1080706Z           "complete": false,
2026-06-17T06:47:32.1080863Z           "evidence": []
2026-06-17T06:47:32.1081150Z         },
2026-06-17T06:47:32.1081287Z         "unit": {
2026-06-17T06:47:32.1081449Z           "complete": true,
2026-06-17T06:47:32.1081602Z           "evidence": [
2026-06-17T06:47:32.1081746Z             {
2026-06-17T06:47:32.1081936Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-17T06:47:32.1082084Z               "line": 142
2026-06-17T06:47:32.1082222Z             },
2026-06-17T06:47:32.1082367Z             {
2026-06-17T06:47:32.1082658Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-17T06:47:32.1082803Z               "line": 194
2026-06-17T06:47:32.1082951Z             },
2026-06-17T06:47:32.1083089Z             {
2026-06-17T06:47:32.1083280Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-17T06:47:32.1083437Z               "line": 235
2026-06-17T06:47:32.1083576Z             },
2026-06-17T06:47:32.1083719Z             {
2026-06-17T06:47:32.1083910Z               "path": "crates/spt-daemon/tests/access.rs",
2026-06-17T06:47:32.1084067Z               "line": 140
2026-06-17T06:47:32.1084205Z             },
2026-06-17T06:47:32.1084348Z             {
2026-06-17T06:47:32.1084545Z               "path": "crates/spt-store/src/access.rs",
2026-06-17T06:47:32.1084696Z               "line": 247
2026-06-17T06:47:32.1084845Z             },
2026-06-17T06:47:32.1084991Z             {
2026-06-17T06:47:32.1085181Z               "path": "crates/spt-store/src/access.rs",
2026-06-17T06:47:32.1085336Z               "line": 277
2026-06-17T06:47:32.1085479Z             },
2026-06-17T06:47:32.1085623Z             {
2026-06-17T06:47:32.1085803Z               "path": "crates/spt-store/src/access.rs",
2026-06-17T06:47:32.1085961Z               "line": 310
2026-06-17T06:47:32.1086104Z             },
2026-06-17T06:47:32.1086248Z             {
2026-06-17T06:47:32.1086429Z               "path": "crates/spt-store/src/access.rs",
2026-06-17T06:47:32.1086572Z               "line": 329
2026-06-17T06:47:32.1086719Z             },
2026-06-17T06:47:32.1086867Z             {
2026-06-17T06:47:32.1087053Z               "path": "crates/spt-store/src/access.rs",
2026-06-17T06:47:32.1087201Z               "line": 362
2026-06-17T06:47:32.1087339Z             },
2026-06-17T06:47:32.1087478Z             {
2026-06-17T06:47:32.1087663Z               "path": "crates/spt-store/src/access.rs",
2026-06-17T06:47:32.1087817Z               "line": 386
2026-06-17T06:47:32.1087962Z             },
2026-06-17T06:47:32.1088110Z             {
2026-06-17T06:47:32.1088289Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1088448Z               "line": 7558
2026-06-17T06:47:32.1088589Z             }
2026-06-17T06:47:32.1088719Z           ]
2026-06-17T06:47:32.1088866Z         }
2026-06-17T06:47:32.1089077Z       }
2026-06-17T06:47:32.1089219Z     },
2026-06-17T06:47:32.1089358Z     {
2026-06-17T06:47:32.1089534Z       "id": "REQ-SHELL-1",
2026-06-17T06:47:32.1090591Z       "title": "Shell hosting machinery: shell perch under the owner (type/owner/adapter_name/status/alias), broker-launched binary + api bind local-link handshake, the three channels (command durable, text+file durable + progress-queryable, sensory REST-only never spooled + dropped-unless-owner-live), owner exclusivity (CONTEXT Shell model)",
2026-06-17T06:47:32.1090752Z       "requiredStages": [
2026-06-17T06:47:32.1090898Z         "impl",
2026-06-17T06:47:32.1091043Z         "unit",
2026-06-17T06:47:32.1091185Z         "int"
2026-06-17T06:47:32.1091329Z       ],
2026-06-17T06:47:32.1091475Z       "stages": {
2026-06-17T06:47:32.1091620Z         "doc": {
2026-06-17T06:47:32.1091776Z           "complete": false,
2026-06-17T06:47:32.1091925Z           "evidence": []
2026-06-17T06:47:32.1092068Z         },
2026-06-17T06:47:32.1092211Z         "impl": {
2026-06-17T06:47:32.1092363Z           "complete": true,
2026-06-17T06:47:32.1092511Z           "evidence": [
2026-06-17T06:47:32.1092654Z             {
2026-06-17T06:47:32.1092851Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-17T06:47:32.1093112Z               "line": 189
2026-06-17T06:47:32.1093256Z             },
2026-06-17T06:47:32.1093401Z             {
2026-06-17T06:47:32.1093603Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-17T06:47:32.1093754Z               "line": 268
2026-06-17T06:47:32.1093898Z             },
2026-06-17T06:47:32.1094035Z             {
2026-06-17T06:47:32.1094236Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-17T06:47:32.1094393Z               "line": 27
2026-06-17T06:47:32.1094622Z             },
2026-06-17T06:47:32.1094766Z             {
2026-06-17T06:47:32.1094956Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-17T06:47:32.1095114Z               "line": 52
2026-06-17T06:47:32.1095256Z             },
2026-06-17T06:47:32.1095400Z             {
2026-06-17T06:47:32.1095599Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-17T06:47:32.1095746Z               "line": 144
2026-06-17T06:47:32.1095896Z             },
2026-06-17T06:47:32.1096035Z             {
2026-06-17T06:47:32.1096230Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-17T06:47:32.1096378Z               "line": 176
2026-06-17T06:47:32.1096526Z             },
2026-06-17T06:47:32.1096669Z             {
2026-06-17T06:47:32.1096864Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-17T06:47:32.1097018Z               "line": 22
2026-06-17T06:47:32.1097160Z             },
2026-06-17T06:47:32.1097293Z             {
2026-06-17T06:47:32.1097489Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-17T06:47:32.1097633Z               "line": 65
2026-06-17T06:47:32.1097775Z             },
2026-06-17T06:47:32.1097918Z             {
2026-06-17T06:47:32.1098104Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-17T06:47:32.1098253Z               "line": 76
2026-06-17T06:47:32.1098400Z             },
2026-06-17T06:47:32.1098541Z             {
2026-06-17T06:47:32.1098740Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-17T06:47:32.1098897Z               "line": 151
2026-06-17T06:47:32.1099121Z             },
2026-06-17T06:47:32.1099265Z             {
2026-06-17T06:47:32.1099450Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-17T06:47:32.1099608Z               "line": 210
2026-06-17T06:47:32.1099746Z             },
2026-06-17T06:47:32.1099889Z             {
2026-06-17T06:47:32.1100080Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-17T06:47:32.1100238Z               "line": 255
2026-06-17T06:47:32.1100379Z             },
2026-06-17T06:47:32.1100519Z             {
2026-06-17T06:47:32.1100704Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-17T06:47:32.1100853Z               "line": 277
2026-06-17T06:47:32.1101000Z             },
2026-06-17T06:47:32.1101141Z             {
2026-06-17T06:47:32.1101326Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-17T06:47:32.1101473Z               "line": 290
2026-06-17T06:47:32.1101618Z             },
2026-06-17T06:47:32.1101759Z             {
2026-06-17T06:47:32.1101941Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T06:47:32.1102079Z               "line": 217
2026-06-17T06:47:32.1102227Z             },
2026-06-17T06:47:32.1102369Z             {
2026-06-17T06:47:32.1102556Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T06:47:32.1102703Z               "line": 233
2026-06-17T06:47:32.1102843Z             },
2026-06-17T06:47:32.1102985Z             {
2026-06-17T06:47:32.1103186Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-17T06:47:32.1103323Z               "line": 41
2026-06-17T06:47:32.1103463Z             },
2026-06-17T06:47:32.1103610Z             {
2026-06-17T06:47:32.1103797Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-17T06:47:32.1103952Z               "line": 222
2026-06-17T06:47:32.1104081Z             },
2026-06-17T06:47:32.1104210Z             {
2026-06-17T06:47:32.1104400Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-17T06:47:32.1104657Z               "line": 173
2026-06-17T06:47:32.1104805Z             },
2026-06-17T06:47:32.1104948Z             {
2026-06-17T06:47:32.1105125Z               "path": "crates/spt/src/api/mod.rs",
2026-06-17T06:47:32.1105277Z               "line": 349
2026-06-17T06:47:32.1105412Z             },
2026-06-17T06:47:32.1105549Z             {
2026-06-17T06:47:32.1105727Z               "path": "crates/spt/src/api/mod.rs",
2026-06-17T06:47:32.1105979Z               "line": 414
2026-06-17T06:47:32.1106116Z             },
2026-06-17T06:47:32.1106258Z             {
2026-06-17T06:47:32.1106456Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T06:47:32.1106605Z               "line": 329
2026-06-17T06:47:32.1106744Z             },
2026-06-17T06:47:32.1106880Z             {
2026-06-17T06:47:32.1107058Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1107200Z               "line": 5992
2026-06-17T06:47:32.1107348Z             },
2026-06-17T06:47:32.1107496Z             {
2026-06-17T06:47:32.1107673Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1107815Z               "line": 6142
2026-06-17T06:47:32.1107955Z             },
2026-06-17T06:47:32.1108097Z             {
2026-06-17T06:47:32.1108265Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1108416Z               "line": 6318
2026-06-17T06:47:32.1108556Z             }
2026-06-17T06:47:32.1108692Z           ]
2026-06-17T06:47:32.1108842Z         },
2026-06-17T06:47:32.1109059Z         "int": {
2026-06-17T06:47:32.1109221Z           "complete": true,
2026-06-17T06:47:32.1109367Z           "evidence": [
2026-06-17T06:47:32.1109510Z             {
2026-06-17T06:47:32.1109715Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-17T06:47:32.1109854Z               "line": 709
2026-06-17T06:47:32.1109991Z             },
2026-06-17T06:47:32.1110130Z             {
2026-06-17T06:47:32.1110334Z               "path": "crates/spt-daemon/tests/shellchan.rs",
2026-06-17T06:47:32.1110479Z               "line": 8
2026-06-17T06:47:32.1110621Z             },
2026-06-17T06:47:32.1110764Z             {
2026-06-17T06:47:32.1110964Z               "path": "crates/spt-daemon/tests/shellchan.rs",
2026-06-17T06:47:32.1111118Z               "line": 49
2026-06-17T06:47:32.1111255Z             },
2026-06-17T06:47:32.1111389Z             {
2026-06-17T06:47:32.1111579Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-17T06:47:32.1111740Z               "line": 776
2026-06-17T06:47:32.1111877Z             },
2026-06-17T06:47:32.1112014Z             {
2026-06-17T06:47:32.1112201Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-17T06:47:32.1112343Z               "line": 1211
2026-06-17T06:47:32.1112487Z             },
2026-06-17T06:47:32.1112619Z             {
2026-06-17T06:47:32.1112816Z               "path": "crates/spt/tests/notify_shell_e2e.rs",
2026-06-17T06:47:32.1112963Z               "line": 17
2026-06-17T06:47:32.1113107Z             },
2026-06-17T06:47:32.1113254Z             {
2026-06-17T06:47:32.1113441Z               "path": "crates/spt/tests/shell_e2e.rs",
2026-06-17T06:47:32.1113597Z               "line": 14
2026-06-17T06:47:32.1113736Z             }
2026-06-17T06:47:32.1113869Z           ]
2026-06-17T06:47:32.1114004Z         },
2026-06-17T06:47:32.1114150Z         "unit": {
2026-06-17T06:47:32.1114305Z           "complete": true,
2026-06-17T06:47:32.1114450Z           "evidence": [
2026-06-17T06:47:32.1114602Z             {
2026-06-17T06:47:32.1114789Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-17T06:47:32.1114942Z               "line": 246
2026-06-17T06:47:32.1115085Z             },
2026-06-17T06:47:32.1115217Z             {
2026-06-17T06:47:32.1115405Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-17T06:47:32.1115556Z               "line": 279
2026-06-17T06:47:32.1115699Z             },
2026-06-17T06:47:32.1115828Z             {
2026-06-17T06:47:32.1116019Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-17T06:47:32.1116263Z               "line": 319
2026-06-17T06:47:32.1116395Z             },
2026-06-17T06:47:32.1116525Z             {
2026-06-17T06:47:32.1116714Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-17T06:47:32.1116871Z               "line": 595
2026-06-17T06:47:32.1117008Z             },
2026-06-17T06:47:32.1117135Z             {
2026-06-17T06:47:32.1117322Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-17T06:47:32.1117566Z               "line": 668
2026-06-17T06:47:32.1117708Z             },
2026-06-17T06:47:32.1117847Z             {
2026-06-17T06:47:32.1118041Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-17T06:47:32.1118191Z               "line": 812
2026-06-17T06:47:32.1118323Z             },
2026-06-17T06:47:32.1118462Z             {
2026-06-17T06:47:32.1118643Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T06:47:32.1118787Z               "line": 595
2026-06-17T06:47:32.1118928Z             },
2026-06-17T06:47:32.1119149Z             {
2026-06-17T06:47:32.1119349Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-17T06:47:32.1119497Z               "line": 399
2026-06-17T06:47:32.1119634Z             },
2026-06-17T06:47:32.1119772Z             {
2026-06-17T06:47:32.1119936Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1120089Z               "line": 8200
2026-06-17T06:47:32.1120232Z             },
2026-06-17T06:47:32.1120380Z             {
2026-06-17T06:47:32.1120551Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1120700Z               "line": 8524
2026-06-17T06:47:32.1120833Z             },
2026-06-17T06:47:32.1120961Z             {
2026-06-17T06:47:32.1121119Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1121271Z               "line": 8941
2026-06-17T06:47:32.1121415Z             }
2026-06-17T06:47:32.1121553Z           ]
2026-06-17T06:47:32.1121692Z         }
2026-06-17T06:47:32.1121834Z       }
2026-06-17T06:47:32.1121969Z     },
2026-06-17T06:47:32.1122101Z     {
2026-06-17T06:47:32.1122247Z       "id": "REQ-SHELL-2",
2026-06-17T06:47:32.1124015Z       "title": "Shell sleep/wake: link-break always closes the binary (pre-close instruction + termination timeout), ephemeral teardown vs persistent offline/relink, wake_command wake-watcher (offline-only, exit-opcode supervision, exponential backoff + give-up), state-keyed wake resolution (dormant/suspended/active-elsewhere; no-reachable refuses — spawn-anywhere branch deferred), spt shutdown owner cascade + api owner-shutdown gated by can_shutdown (CONTEXT Shell sleep/wake)",
2026-06-17T06:47:32.1124187Z       "requiredStages": [
2026-06-17T06:47:32.1124329Z         "impl",
2026-06-17T06:47:32.1124477Z         "unit",
2026-06-17T06:47:32.1124621Z         "int"
2026-06-17T06:47:32.1124763Z       ],
2026-06-17T06:47:32.1124898Z       "stages": {
2026-06-17T06:47:32.1125058Z         "doc": {
2026-06-17T06:47:32.1125210Z           "complete": false,
2026-06-17T06:47:32.1125377Z           "evidence": []
2026-06-17T06:47:32.1125516Z         },
2026-06-17T06:47:32.1125650Z         "impl": {
2026-06-17T06:47:32.1125817Z           "complete": true,
2026-06-17T06:47:32.1125960Z           "evidence": [
2026-06-17T06:47:32.1126107Z             {
2026-06-17T06:47:32.1126312Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T06:47:32.1126470Z               "line": 217
2026-06-17T06:47:32.1126617Z             },
2026-06-17T06:47:32.1126761Z             {
2026-06-17T06:47:32.1126965Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-17T06:47:32.1127114Z               "line": 403
2026-06-17T06:47:32.1127265Z             },
2026-06-17T06:47:32.1127403Z             {
2026-06-17T06:47:32.1127591Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-17T06:47:32.1127749Z               "line": 250
2026-06-17T06:47:32.1127882Z             },
2026-06-17T06:47:32.1128030Z             {
2026-06-17T06:47:32.1128335Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-17T06:47:32.1128497Z               "line": 378
2026-06-17T06:47:32.1128635Z             },
2026-06-17T06:47:32.1128779Z             {
2026-06-17T06:47:32.1129070Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-17T06:47:32.1129217Z               "line": 30
2026-06-17T06:47:32.1129366Z             },
2026-06-17T06:47:32.1129493Z             {
2026-06-17T06:47:32.1129700Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-17T06:47:32.1129948Z               "line": 409
2026-06-17T06:47:32.1130090Z             },
2026-06-17T06:47:32.1130231Z             {
2026-06-17T06:47:32.1130417Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-17T06:47:32.1130577Z               "line": 445
2026-06-17T06:47:32.1130716Z             },
2026-06-17T06:47:32.1130854Z             {
2026-06-17T06:47:32.1131040Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-17T06:47:32.1131202Z               "line": 660
2026-06-17T06:47:32.1131350Z             },
2026-06-17T06:47:32.1131493Z             {
2026-06-17T06:47:32.1131679Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-17T06:47:32.1131827Z               "line": 348
2026-06-17T06:47:32.1131961Z             },
2026-06-17T06:47:32.1132098Z             {
2026-06-17T06:47:32.1132299Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-17T06:47:32.1132452Z               "line": 115
2026-06-17T06:47:32.1132596Z             },
2026-06-17T06:47:32.1132742Z             {
2026-06-17T06:47:32.1132932Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-17T06:47:32.1133082Z               "line": 120
2026-06-17T06:47:32.1133216Z             },
2026-06-17T06:47:32.1133344Z             {
2026-06-17T06:47:32.1133536Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-17T06:47:32.1133687Z               "line": 370
2026-06-17T06:47:32.1133832Z             },
2026-06-17T06:47:32.1133969Z             {
2026-06-17T06:47:32.1134156Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-17T06:47:32.1134303Z               "line": 496
2026-06-17T06:47:32.1134446Z             },
2026-06-17T06:47:32.1134584Z             {
2026-06-17T06:47:32.1134761Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-17T06:47:32.1134908Z               "line": 24
2026-06-17T06:47:32.1135042Z             },
2026-06-17T06:47:32.1135190Z             {
2026-06-17T06:47:32.1135372Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-17T06:47:32.1135524Z               "line": 76
2026-06-17T06:47:32.1135665Z             },
2026-06-17T06:47:32.1135805Z             {
2026-06-17T06:47:32.1135999Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-17T06:47:32.1136148Z               "line": 154
2026-06-17T06:47:32.1136294Z             },
2026-06-17T06:47:32.1136434Z             {
2026-06-17T06:47:32.1136623Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-17T06:47:32.1136782Z               "line": 177
2026-06-17T06:47:32.1136920Z             },
2026-06-17T06:47:32.1137064Z             {
2026-06-17T06:47:32.1137248Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-17T06:47:32.1137402Z               "line": 273
2026-06-17T06:47:32.1137549Z             },
2026-06-17T06:47:32.1137684Z             {
2026-06-17T06:47:32.1137877Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-17T06:47:32.1138020Z               "line": 456
2026-06-17T06:47:32.1138170Z             },
2026-06-17T06:47:32.1138309Z             {
2026-06-17T06:47:32.1138494Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-17T06:47:32.1138647Z               "line": 538
2026-06-17T06:47:32.1138786Z             },
2026-06-17T06:47:32.1138924Z             {
2026-06-17T06:47:32.1139200Z               "path": "crates/spt-net/src/net/shelllink.rs",
2026-06-17T06:47:32.1139354Z               "line": 27
2026-06-17T06:47:32.1139500Z             },
2026-06-17T06:47:32.1139754Z             {
2026-06-17T06:47:32.1139955Z               "path": "crates/spt-net/src/net/shelllink.rs",
2026-06-17T06:47:32.1140102Z               "line": 48
2026-06-17T06:47:32.1140236Z             },
2026-06-17T06:47:32.1140363Z             {
2026-06-17T06:47:32.1140565Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T06:47:32.1140720Z               "line": 513
2026-06-17T06:47:32.1140854Z             },
2026-06-17T06:47:32.1140995Z             {
2026-06-17T06:47:32.1141286Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1141433Z               "line": 1737
2026-06-17T06:47:32.1141568Z             },
2026-06-17T06:47:32.1141714Z             {
2026-06-17T06:47:32.1141892Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1142048Z               "line": 6006
2026-06-17T06:47:32.1142192Z             },
2026-06-17T06:47:32.1142329Z             {
2026-06-17T06:47:32.1142507Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1142658Z               "line": 6067
2026-06-17T06:47:32.1142803Z             },
2026-06-17T06:47:32.1142944Z             {
2026-06-17T06:47:32.1143108Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1143259Z               "line": 6095
2026-06-17T06:47:32.1143397Z             },
2026-06-17T06:47:32.1143538Z             {
2026-06-17T06:47:32.1143709Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1143863Z               "line": 6149
2026-06-17T06:47:32.1144004Z             },
2026-06-17T06:47:32.1144148Z             {
2026-06-17T06:47:32.1144314Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1144458Z               "line": 6404
2026-06-17T06:47:32.1144596Z             },
2026-06-17T06:47:32.1144726Z             {
2026-06-17T06:47:32.1144896Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1145060Z               "line": 6464
2026-06-17T06:47:32.1145197Z             },
2026-06-17T06:47:32.1145336Z             {
2026-06-17T06:47:32.1145507Z               "path": "crates/spt/src/wansend.rs",
2026-06-17T06:47:32.1145670Z               "line": 298
2026-06-17T06:47:32.1145811Z             },
2026-06-17T06:47:32.1145947Z             {
2026-06-17T06:47:32.1146121Z               "path": "crates/spt/src/wansend.rs",
2026-06-17T06:47:32.1146273Z               "line": 339
2026-06-17T06:47:32.1146417Z             }
2026-06-17T06:47:32.1146554Z           ]
2026-06-17T06:47:32.1146689Z         },
2026-06-17T06:47:32.1146836Z         "int": {
2026-06-17T06:47:32.1146999Z           "complete": true,
2026-06-17T06:47:32.1147146Z           "evidence": [
2026-06-17T06:47:32.1147285Z             {
2026-06-17T06:47:32.1147494Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-17T06:47:32.1147642Z               "line": 702
2026-06-17T06:47:32.1147785Z             },
2026-06-17T06:47:32.1147925Z             {
2026-06-17T06:47:32.1148114Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-17T06:47:32.1148258Z               "line": 776
2026-06-17T06:47:32.1148404Z             },
2026-06-17T06:47:32.1148542Z             {
2026-06-17T06:47:32.1148726Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-17T06:47:32.1148879Z               "line": 1211
2026-06-17T06:47:32.1149087Z             },
2026-06-17T06:47:32.1149227Z             {
2026-06-17T06:47:32.1149440Z               "path": "crates/spt/tests/shell_sleepwake_e2e.rs",
2026-06-17T06:47:32.1149580Z               "line": 18
2026-06-17T06:47:32.1149717Z             }
2026-06-17T06:47:32.1149856Z           ]
2026-06-17T06:47:32.1149999Z         },
2026-06-17T06:47:32.1150128Z         "unit": {
2026-06-17T06:47:32.1150280Z           "complete": true,
2026-06-17T06:47:32.1150433Z           "evidence": [
2026-06-17T06:47:32.1150576Z             {
2026-06-17T06:47:32.1150773Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-17T06:47:32.1150919Z               "line": 744
2026-06-17T06:47:32.1151063Z             },
2026-06-17T06:47:32.1151201Z             {
2026-06-17T06:47:32.1151495Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-17T06:47:32.1151645Z               "line": 796
2026-06-17T06:47:32.1151784Z             },
2026-06-17T06:47:32.1151927Z             {
2026-06-17T06:47:32.1152118Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-17T06:47:32.1152274Z               "line": 701
2026-06-17T06:47:32.1152423Z             },
2026-06-17T06:47:32.1152552Z             {
2026-06-17T06:47:32.1152752Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-17T06:47:32.1153029Z               "line": 750
2026-06-17T06:47:32.1153170Z             },
2026-06-17T06:47:32.1153310Z             {
2026-06-17T06:47:32.1153499Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-17T06:47:32.1153645Z               "line": 774
2026-06-17T06:47:32.1153782Z             },
2026-06-17T06:47:32.1153927Z             {
2026-06-17T06:47:32.1154117Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-17T06:47:32.1154274Z               "line": 603
2026-06-17T06:47:32.1154418Z             },
2026-06-17T06:47:32.1154555Z             {
2026-06-17T06:47:32.1154747Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-17T06:47:32.1154889Z               "line": 624
2026-06-17T06:47:32.1155032Z             },
2026-06-17T06:47:32.1155175Z             {
2026-06-17T06:47:32.1155361Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-17T06:47:32.1155514Z               "line": 660
2026-06-17T06:47:32.1155662Z             },
2026-06-17T06:47:32.1155804Z             {
2026-06-17T06:47:32.1155996Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-17T06:47:32.1156139Z               "line": 714
2026-06-17T06:47:32.1156278Z             },
2026-06-17T06:47:32.1156424Z             {
2026-06-17T06:47:32.1156616Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-17T06:47:32.1156767Z               "line": 732
2026-06-17T06:47:32.1156910Z             },
2026-06-17T06:47:32.1157048Z             {
2026-06-17T06:47:32.1157239Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-17T06:47:32.1157386Z               "line": 766
2026-06-17T06:47:32.1157521Z             },
2026-06-17T06:47:32.1157659Z             {
2026-06-17T06:47:32.1157850Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-17T06:47:32.1157997Z               "line": 841
2026-06-17T06:47:32.1158126Z             },
2026-06-17T06:47:32.1158278Z             {
2026-06-17T06:47:32.1158480Z               "path": "crates/spt-net/src/net/shelllink.rs",
2026-06-17T06:47:32.1158631Z               "line": 85
2026-06-17T06:47:32.1158761Z             },
2026-06-17T06:47:32.1158898Z             {
2026-06-17T06:47:32.1159154Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1159310Z               "line": 7358
2026-06-17T06:47:32.1159453Z             },
2026-06-17T06:47:32.1159591Z             {
2026-06-17T06:47:32.1159763Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1159920Z               "line": 8278
2026-06-17T06:47:32.1160059Z             },
2026-06-17T06:47:32.1160197Z             {
2026-06-17T06:47:32.1160369Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1160516Z               "line": 8348
2026-06-17T06:47:32.1160654Z             },
2026-06-17T06:47:32.1160797Z             {
2026-06-17T06:47:32.1160964Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1161126Z               "line": 8386
2026-06-17T06:47:32.1161264Z             }
2026-06-17T06:47:32.1161404Z           ]
2026-06-17T06:47:32.1161542Z         }
2026-06-17T06:47:32.1161667Z       }
2026-06-17T06:47:32.1161813Z     },
2026-06-17T06:47:32.1161940Z     {
2026-06-17T06:47:32.1162101Z       "id": "REQ-SHELL-3",
2026-06-17T06:47:32.1164161Z       "title": "Drive channel (owner->shell, REST-only, never-spooled, latest-wins): the owner->shell mirror of sensory for continuous real-time control (scroll/crank/stick/avatar) — a [shell.drive] manifest vocab + EVENT_TYPE_DRIVE frame, delivered to the ONLINE binary only via a single live slot (a new frame supersedes an undelivered one — no spool, no queue, no replay on relink), dropped-with-diagnostic if the shell is offline; cross-node rides the ephemeral link (REST class), never the durable shell spool. Commands = discrete+durable; drive = continuous+ephemeral (CONTEXT:260, minted 2026-06-11 Gateway grill).",
2026-06-17T06:47:32.1164431Z       "requiredStages": [
2026-06-17T06:47:32.1164588Z         "impl",
2026-06-17T06:47:32.1164819Z         "unit",
2026-06-17T06:47:32.1164964Z         "int"
2026-06-17T06:47:32.1165115Z       ],
2026-06-17T06:47:32.1165254Z       "stages": {
2026-06-17T06:47:32.1165396Z         "doc": {
2026-06-17T06:47:32.1165560Z           "complete": false,
2026-06-17T06:47:32.1165711Z           "evidence": []
2026-06-17T06:47:32.1165855Z         },
2026-06-17T06:47:32.1165993Z         "impl": {
2026-06-17T06:47:32.1166156Z           "complete": true,
2026-06-17T06:47:32.1166299Z           "evidence": [
2026-06-17T06:47:32.1166452Z             {
2026-06-17T06:47:32.1166642Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-17T06:47:32.1166790Z               "line": 224
2026-06-17T06:47:32.1166931Z             },
2026-06-17T06:47:32.1167057Z             {
2026-06-17T06:47:32.1167255Z               "path": "crates/spt-daemon/src/drivehub.rs",
2026-06-17T06:47:32.1167394Z               "line": 36
2026-06-17T06:47:32.1167538Z             },
2026-06-17T06:47:32.1167675Z             {
2026-06-17T06:47:32.1167871Z               "path": "crates/spt-daemon/src/drivehub.rs",
2026-06-17T06:47:32.1168033Z               "line": 137
2026-06-17T06:47:32.1168176Z             },
2026-06-17T06:47:32.1168314Z             {
2026-06-17T06:47:32.1168505Z               "path": "crates/spt-daemon/src/drivehub.rs",
2026-06-17T06:47:32.1168657Z               "line": 153
2026-06-17T06:47:32.1168805Z             },
2026-06-17T06:47:32.1169026Z             {
2026-06-17T06:47:32.1169220Z               "path": "crates/spt-daemon/src/drivehub.rs",
2026-06-17T06:47:32.1169374Z               "line": 165
2026-06-17T06:47:32.1169515Z             },
2026-06-17T06:47:32.1169652Z             {
2026-06-17T06:47:32.1169846Z               "path": "crates/spt-daemon/src/drivehub.rs",
2026-06-17T06:47:32.1170004Z               "line": 242
2026-06-17T06:47:32.1170142Z             },
2026-06-17T06:47:32.1170285Z             {
2026-06-17T06:47:32.1170471Z               "path": "crates/spt-daemon/src/drivehub.rs",
2026-06-17T06:47:32.1170629Z               "line": 267
2026-06-17T06:47:32.1170766Z             },
2026-06-17T06:47:32.1170905Z             {
2026-06-17T06:47:32.1171091Z               "path": "crates/spt-daemon/src/drivehub.rs",
2026-06-17T06:47:32.1171239Z               "line": 293
2026-06-17T06:47:32.1171377Z             },
2026-06-17T06:47:32.1171500Z             {
2026-06-17T06:47:32.1171686Z               "path": "crates/spt-daemon/src/endpoint.rs",
2026-06-17T06:47:32.1171839Z               "line": 51
2026-06-17T06:47:32.1171992Z             },
2026-06-17T06:47:32.1172135Z             {
2026-06-17T06:47:32.1172321Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-17T06:47:32.1172472Z               "line": 333
2026-06-17T06:47:32.1172610Z             },
2026-06-17T06:47:32.1172751Z             {
2026-06-17T06:47:32.1172938Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-17T06:47:32.1173084Z               "line": 373
2026-06-17T06:47:32.1173234Z             },
2026-06-17T06:47:32.1173376Z             {
2026-06-17T06:47:32.1173567Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-17T06:47:32.1173710Z               "line": 602
2026-06-17T06:47:32.1173849Z             },
2026-06-17T06:47:32.1173982Z             {
2026-06-17T06:47:32.1174183Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-17T06:47:32.1174334Z               "line": 132
2026-06-17T06:47:32.1174460Z             },
2026-06-17T06:47:32.1174601Z             {
2026-06-17T06:47:32.1174784Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-17T06:47:32.1175048Z               "line": 444
2026-06-17T06:47:32.1175191Z             },
2026-06-17T06:47:32.1175322Z             {
2026-06-17T06:47:32.1175509Z               "path": "crates/spt-proto/src/event.rs",
2026-06-17T06:47:32.1175661Z               "line": 74
2026-06-17T06:47:32.1175801Z             },
2026-06-17T06:47:32.1175942Z             {
2026-06-17T06:47:32.1176139Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T06:47:32.1176392Z               "line": 550
2026-06-17T06:47:32.1176529Z             },
2026-06-17T06:47:32.1176677Z             {
2026-06-17T06:47:32.1176863Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T06:47:32.1177021Z               "line": 392
2026-06-17T06:47:32.1177158Z             },
2026-06-17T06:47:32.1177302Z             {
2026-06-17T06:47:32.1177473Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1177617Z               "line": 6190
2026-06-17T06:47:32.1177765Z             }
2026-06-17T06:47:32.1177901Z           ]
2026-06-17T06:47:32.1178040Z         },
2026-06-17T06:47:32.1178177Z         "int": {
2026-06-17T06:47:32.1178321Z           "complete": true,
2026-06-17T06:47:32.1178483Z           "evidence": [
2026-06-17T06:47:32.1178617Z             {
2026-06-17T06:47:32.1178812Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-17T06:47:32.1179027Z               "line": 1260
2026-06-17T06:47:32.1179169Z             },
2026-06-17T06:47:32.1179314Z             {
2026-06-17T06:47:32.1179499Z               "path": "crates/spt/tests/drive_e2e.rs",
2026-06-17T06:47:32.1179648Z               "line": 17
2026-06-17T06:47:32.1183027Z             }
2026-06-17T06:47:32.1183193Z           ]
2026-06-17T06:47:32.1183330Z         },
2026-06-17T06:47:32.1183474Z         "unit": {
2026-06-17T06:47:32.1183636Z           "complete": true,
2026-06-17T06:47:32.1183784Z           "evidence": [
2026-06-17T06:47:32.1183917Z             {
2026-06-17T06:47:32.1184123Z               "path": "crates/spt-daemon/src/drivehub.rs",
2026-06-17T06:47:32.1184279Z               "line": 311
2026-06-17T06:47:32.1184418Z             },
2026-06-17T06:47:32.1184561Z             {
2026-06-17T06:47:32.1184761Z               "path": "crates/spt-daemon/src/drivehub.rs",
2026-06-17T06:47:32.1184918Z               "line": 325
2026-06-17T06:47:32.1185058Z             },
2026-06-17T06:47:32.1185185Z             {
2026-06-17T06:47:32.1185382Z               "path": "crates/spt-daemon/src/drivehub.rs",
2026-06-17T06:47:32.1185532Z               "line": 343
2026-06-17T06:47:32.1185676Z             },
2026-06-17T06:47:32.1185812Z             {
2026-06-17T06:47:32.1186007Z               "path": "crates/spt-daemon/src/drivehub.rs",
2026-06-17T06:47:32.1186150Z               "line": 364
2026-06-17T06:47:32.1186288Z             },
2026-06-17T06:47:32.1186422Z             {
2026-06-17T06:47:32.1186618Z               "path": "crates/spt-daemon/src/drivehub.rs",
2026-06-17T06:47:32.1186770Z               "line": 376
2026-06-17T06:47:32.1186908Z             },
2026-06-17T06:47:32.1187051Z             {
2026-06-17T06:47:32.1187242Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-17T06:47:32.1187399Z               "line": 897
2026-06-17T06:47:32.1187538Z             },
2026-06-17T06:47:32.1187676Z             {
2026-06-17T06:47:32.1187858Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-17T06:47:32.1188000Z               "line": 957
2026-06-17T06:47:32.1188133Z             },
2026-06-17T06:47:32.1188273Z             {
2026-06-17T06:47:32.1188461Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-17T06:47:32.1188606Z               "line": 338
2026-06-17T06:47:32.1188747Z             },
2026-06-17T06:47:32.1188886Z             {
2026-06-17T06:47:32.1189158Z               "path": "crates/spt/src/api/mod.rs",
2026-06-17T06:47:32.1189306Z               "line": 743
2026-06-17T06:47:32.1189449Z             },
2026-06-17T06:47:32.1189592Z             {
2026-06-17T06:47:32.1189907Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1190054Z               "line": 8060
2026-06-17T06:47:32.1190194Z             }
2026-06-17T06:47:32.1190336Z           ]
2026-06-17T06:47:32.1190475Z         }
2026-06-17T06:47:32.1190616Z       }
2026-06-17T06:47:32.1190759Z     },
2026-06-17T06:47:32.1190891Z     {
2026-06-17T06:47:32.1191042Z       "id": "REQ-SHELL-4",
2026-06-17T06:47:32.1193094Z       "title": "Shell tunnel (reliable-ordered opaque byte stream): an owner<->shell link may hold a long-lived, reliable-ordered, link-bound QUIC stream pair carrying opaque wire protocol traffic the channel taxonomy must NOT reinterpret (first consumer usbip URB) — manifest opt-in, not enveloped, not MAC-framed, not spooled; the link lifecycle governs it (a link-break closes the tunnel). Reliable-ordered ⇒ congestion surfaces as lag never loss ⇒ acceptable only on-LAN: the on-LAN posture is documented and the tunnel is NOT proven cross-WAN (CONTEXT:262, minted 2026-06-11 Gateway grill; doyle gate C2).",
2026-06-17T06:47:32.1193399Z       "requiredStages": [
2026-06-17T06:47:32.1193531Z         "doc",
2026-06-17T06:47:32.1193669Z         "impl",
2026-06-17T06:47:32.1193809Z         "unit",
2026-06-17T06:47:32.1193953Z         "int"
2026-06-17T06:47:32.1194087Z       ],
2026-06-17T06:47:32.1194219Z       "stages": {
2026-06-17T06:47:32.1194363Z         "doc": {
2026-06-17T06:47:32.1194515Z           "complete": true,
2026-06-17T06:47:32.1194664Z           "evidence": [
2026-06-17T06:47:32.1194810Z             {
2026-06-17T06:47:32.1194965Z               "path": "CONTEXT.md",
2026-06-17T06:47:32.1195116Z               "line": 269
2026-06-17T06:47:32.1195255Z             },
2026-06-17T06:47:32.1195397Z             {
2026-06-17T06:47:32.1195712Z               "path": "docs/adr/0020-event-envelope-sole-arriving-format-reply-to-removed.md",
2026-06-17T06:47:32.1195866Z               "line": 88
2026-06-17T06:47:32.1196003Z             }
2026-06-17T06:47:32.1196144Z           ]
2026-06-17T06:47:32.1196297Z         },
2026-06-17T06:47:32.1196433Z         "impl": {
2026-06-17T06:47:32.1196591Z           "complete": true,
2026-06-17T06:47:32.1196734Z           "evidence": [
2026-06-17T06:47:32.1196878Z             {
2026-06-17T06:47:32.1197068Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-17T06:47:32.1197211Z               "line": 238
2026-06-17T06:47:32.1197345Z             },
2026-06-17T06:47:32.1197478Z             {
2026-06-17T06:47:32.1197683Z               "path": "crates/spt-daemon/src/endpoint.rs",
2026-06-17T06:47:32.1197832Z               "line": 61
2026-06-17T06:47:32.1197974Z             },
2026-06-17T06:47:32.1198108Z             {
2026-06-17T06:47:32.1198298Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-17T06:47:32.1198447Z               "line": 218
2026-06-17T06:47:32.1198584Z             },
2026-06-17T06:47:32.1198723Z             {
2026-06-17T06:47:32.1198917Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-17T06:47:32.1199161Z               "line": 245
2026-06-17T06:47:32.1199303Z             },
2026-06-17T06:47:32.1199442Z             {
2026-06-17T06:47:32.1199631Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-17T06:47:32.1199785Z               "line": 566
2026-06-17T06:47:32.1199923Z             },
2026-06-17T06:47:32.1200067Z             {
2026-06-17T06:47:32.1200257Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-17T06:47:32.1200405Z               "line": 1141
2026-06-17T06:47:32.1200548Z             },
2026-06-17T06:47:32.1200687Z             {
2026-06-17T06:47:32.1200876Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-17T06:47:32.1201021Z               "line": 1153
2026-06-17T06:47:32.1201158Z             },
2026-06-17T06:47:32.1201299Z             {
2026-06-17T06:47:32.1201493Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-17T06:47:32.1201646Z               "line": 1194
2026-06-17T06:47:32.1201790Z             },
2026-06-17T06:47:32.1202033Z             {
2026-06-17T06:47:32.1202227Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-17T06:47:32.1202371Z               "line": 452
2026-06-17T06:47:32.1202513Z             },
2026-06-17T06:47:32.1202657Z             {
2026-06-17T06:47:32.1202851Z               "path": "crates/spt-daemon/src/tunnelhub.rs",
2026-06-17T06:47:32.1202996Z               "line": 44
2026-06-17T06:47:32.1203128Z             },
2026-06-17T06:47:32.1203268Z             {
2026-06-17T06:47:32.1203549Z               "path": "crates/spt-daemon/src/tunnelhub.rs",
2026-06-17T06:47:32.1203696Z               "line": 208
2026-06-17T06:47:32.1203839Z             },
2026-06-17T06:47:32.1203965Z             {
2026-06-17T06:47:32.1204166Z               "path": "crates/spt-daemon/src/tunnelhub.rs",
2026-06-17T06:47:32.1204314Z               "line": 227
2026-06-17T06:47:32.1204455Z             },
2026-06-17T06:47:32.1204590Z             {
2026-06-17T06:47:32.1204770Z               "path": "crates/spt-daemon/src/tunnelhub.rs",
2026-06-17T06:47:32.1204923Z               "line": 253
2026-06-17T06:47:32.1205061Z             },
2026-06-17T06:47:32.1205205Z             {
2026-06-17T06:47:32.1205390Z               "path": "crates/spt-daemon/src/tunnelhub.rs",
2026-06-17T06:47:32.1205544Z               "line": 272
2026-06-17T06:47:32.1205685Z             },
2026-06-17T06:47:32.1205825Z             {
2026-06-17T06:47:32.1206024Z               "path": "crates/spt-daemon/src/tunnelhub.rs",
2026-06-17T06:47:32.1206173Z               "line": 392
2026-06-17T06:47:32.1206320Z             },
2026-06-17T06:47:32.1206454Z             {
2026-06-17T06:47:32.1206643Z               "path": "crates/spt-daemon/src/tunnelhub.rs",
2026-06-17T06:47:32.1206786Z               "line": 421
2026-06-17T06:47:32.1206918Z             },
2026-06-17T06:47:32.1207060Z             {
2026-06-17T06:47:32.1207251Z               "path": "crates/spt-daemon/src/tunnelhub.rs",
2026-06-17T06:47:32.1207399Z               "line": 439
2026-06-17T06:47:32.1207528Z             },
2026-06-17T06:47:32.1207670Z             {
2026-06-17T06:47:32.1207862Z               "path": "crates/spt-daemon/src/tunnelhub.rs",
2026-06-17T06:47:32.1208004Z               "line": 458
2026-06-17T06:47:32.1208143Z             },
2026-06-17T06:47:32.1208281Z             {
2026-06-17T06:47:32.1208477Z               "path": "crates/spt-daemon/src/tunnelhub.rs",
2026-06-17T06:47:32.1208624Z               "line": 486
2026-06-17T06:47:32.1208773Z             },
2026-06-17T06:47:32.1208910Z             {
2026-06-17T06:47:32.1209177Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T06:47:32.1209326Z               "line": 569
2026-06-17T06:47:32.1209468Z             },
2026-06-17T06:47:32.1209610Z             {
2026-06-17T06:47:32.1209792Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T06:47:32.1209949Z               "line": 774
2026-06-17T06:47:32.1210088Z             },
2026-06-17T06:47:32.1210225Z             {
2026-06-17T06:47:32.1210412Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T06:47:32.1210554Z               "line": 431
2026-06-17T06:47:32.1210693Z             },
2026-06-17T06:47:32.1210831Z             {
2026-06-17T06:47:32.1211008Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1211151Z               "line": 6246
2026-06-17T06:47:32.1211290Z             }
2026-06-17T06:47:32.1211426Z           ]
2026-06-17T06:47:32.1211561Z         },
2026-06-17T06:47:32.1211699Z         "int": {
2026-06-17T06:47:32.1211859Z           "complete": true,
2026-06-17T06:47:32.1212012Z           "evidence": [
2026-06-17T06:47:32.1212139Z             {
2026-06-17T06:47:32.1212326Z               "path": "crates/spt/tests/tunnel_e2e.rs",
2026-06-17T06:47:32.1212468Z               "line": 18
2026-06-17T06:47:32.1212603Z             }
2026-06-17T06:47:32.1212744Z           ]
2026-06-17T06:47:32.1212874Z         },
2026-06-17T06:47:32.1213012Z         "unit": {
2026-06-17T06:47:32.1213160Z           "complete": true,
2026-06-17T06:47:32.1213397Z           "evidence": [
2026-06-17T06:47:32.1213546Z             {
2026-06-17T06:47:32.1213736Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-17T06:47:32.1213895Z               "line": 1391
2026-06-17T06:47:32.1214027Z             },
2026-06-17T06:47:32.1214162Z             {
2026-06-17T06:47:32.1214351Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-17T06:47:32.1214496Z               "line": 1420
2026-06-17T06:47:32.1214636Z             },
2026-06-17T06:47:32.1214870Z             {
2026-06-17T06:47:32.1215053Z               "path": "crates/spt-daemon/src/tunnelhub.rs",
2026-06-17T06:47:32.1215197Z               "line": 504
2026-06-17T06:47:32.1215340Z             },
2026-06-17T06:47:32.1215479Z             {
2026-06-17T06:47:32.1215669Z               "path": "crates/spt-daemon/src/tunnelhub.rs",
2026-06-17T06:47:32.1215822Z               "line": 514
2026-06-17T06:47:32.1215959Z             },
2026-06-17T06:47:32.1216104Z             {
2026-06-17T06:47:32.1216293Z               "path": "crates/spt-daemon/src/tunnelhub.rs",
2026-06-17T06:47:32.1216447Z               "line": 531
2026-06-17T06:47:32.1216584Z             },
2026-06-17T06:47:32.1216724Z             {
2026-06-17T06:47:32.1216918Z               "path": "crates/spt-daemon/src/tunnelhub.rs",
2026-06-17T06:47:32.1217068Z               "line": 543
2026-06-17T06:47:32.1217203Z             },
2026-06-17T06:47:32.1217336Z             {
2026-06-17T06:47:32.1217516Z               "path": "crates/spt-daemon/src/tunnelhub.rs",
2026-06-17T06:47:32.1217678Z               "line": 555
2026-06-17T06:47:32.1217816Z             },
2026-06-17T06:47:32.1217950Z             {
2026-06-17T06:47:32.1218131Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T06:47:32.1218284Z               "line": 1075
2026-06-17T06:47:32.1218422Z             },
2026-06-17T06:47:32.1218564Z             {
2026-06-17T06:47:32.1218736Z               "path": "crates/spt/src/api/mod.rs",
2026-06-17T06:47:32.1218889Z               "line": 750
2026-06-17T06:47:32.1219108Z             }
2026-06-17T06:47:32.1219247Z           ]
2026-06-17T06:47:32.1219375Z         }
2026-06-17T06:47:32.1219518Z       }
2026-06-17T06:47:32.1219652Z     },
2026-06-17T06:47:32.1219795Z     {
2026-06-17T06:47:32.1219949Z       "id": "REQ-SHELL-5",
2026-06-17T06:47:32.1221324Z       "title": "Shell ownership is owner-type-agnostic: any non-Shell endpoint type may own/spawn/drive/command/link a shell (Gateway the named first) — control-exclusivity keys on the owner endpoint_id, NEVER on the owner's endpoint type. No ownership path (mint, launch, owner-from-link, cmd, drive, tunnel, sleep/wake, owner-shutdown) inspects the owner's type (CONTEXT:264, ratified 2026-06-11 Gateway grill).",
2026-06-17T06:47:32.1221497Z       "requiredStages": [
2026-06-17T06:47:32.1221630Z         "doc",
2026-06-17T06:47:32.1221773Z         "impl",
2026-06-17T06:47:32.1221926Z         "unit",
2026-06-17T06:47:32.1222068Z         "int"
2026-06-17T06:47:32.1222198Z       ],
2026-06-17T06:47:32.1222348Z       "stages": {
2026-06-17T06:47:32.1222492Z         "doc": {
2026-06-17T06:47:32.1222642Z           "complete": true,
2026-06-17T06:47:32.1222785Z           "evidence": [
2026-06-17T06:47:32.1222923Z             {
2026-06-17T06:47:32.1223090Z               "path": "CONTEXT.md",
2026-06-17T06:47:32.1223234Z               "line": 272
2026-06-17T06:47:32.1223376Z             }
2026-06-17T06:47:32.1223520Z           ]
2026-06-17T06:47:32.1223657Z         },
2026-06-17T06:47:32.1223792Z         "impl": {
2026-06-17T06:47:32.1223944Z           "complete": true,
2026-06-17T06:47:32.1224102Z           "evidence": [
2026-06-17T06:47:32.1224225Z             {
2026-06-17T06:47:32.1224421Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-17T06:47:32.1224564Z               "line": 256
2026-06-17T06:47:32.1224694Z             }
2026-06-17T06:47:32.1224835Z           ]
2026-06-17T06:47:32.1224960Z         },
2026-06-17T06:47:32.1225108Z         "int": {
2026-06-17T06:47:32.1225254Z           "complete": true,
2026-06-17T06:47:32.1225514Z           "evidence": [
2026-06-17T06:47:32.1225652Z             {
2026-06-17T06:47:32.1225843Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-17T06:47:32.1225991Z               "line": 825
2026-06-17T06:47:32.1226134Z             },
2026-06-17T06:47:32.1226272Z             {
2026-06-17T06:47:32.1226459Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-17T06:47:32.1226616Z               "line": 1288
2026-06-17T06:47:32.1226853Z             },
2026-06-17T06:47:32.1226993Z             {
2026-06-17T06:47:32.1227202Z               "path": "crates/spt/tests/gateway_owner_shell_e2e.rs",
2026-06-17T06:47:32.1227350Z               "line": 23
2026-06-17T06:47:32.1227493Z             }
2026-06-17T06:47:32.1227628Z           ]
2026-06-17T06:47:32.1227768Z         },
2026-06-17T06:47:32.1227921Z         "unit": {
2026-06-17T06:47:32.1228071Z           "complete": true,
2026-06-17T06:47:32.1228219Z           "evidence": [
2026-06-17T06:47:32.1228358Z             {
2026-06-17T06:47:32.1228543Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-17T06:47:32.1228687Z               "line": 803
2026-06-17T06:47:32.1228824Z             }
2026-06-17T06:47:32.1229057Z           ]
2026-06-17T06:47:32.1229197Z         }
2026-06-17T06:47:32.1229335Z       }
2026-06-17T06:47:32.1229463Z     },
2026-06-17T06:47:32.1229592Z     {
2026-06-17T06:47:32.1229735Z       "id": "REQ-START-1",
2026-06-17T06:47:32.1230007Z       "title": "Adapters never resolve SPT_HOME; binary on PATH; api bridging only",
2026-06-17T06:47:32.1230166Z       "requiredStages": [
2026-06-17T06:47:32.1230307Z         "impl",
2026-06-17T06:47:32.1230447Z         "unit"
2026-06-17T06:47:32.1230574Z       ],
2026-06-17T06:47:32.1230716Z       "stages": {
2026-06-17T06:47:32.1230855Z         "doc": {
2026-06-17T06:47:32.1231016Z           "complete": false,
2026-06-17T06:47:32.1231170Z           "evidence": []
2026-06-17T06:47:32.1231307Z         },
2026-06-17T06:47:32.1231452Z         "impl": {
2026-06-17T06:47:32.1231594Z           "complete": true,
2026-06-17T06:47:32.1231742Z           "evidence": [
2026-06-17T06:47:32.1231885Z             {
2026-06-17T06:47:32.1232067Z               "path": "crates/spt-store/src/seed.rs",
2026-06-17T06:47:32.1232218Z               "line": 16
2026-06-17T06:47:32.1232357Z             }
2026-06-17T06:47:32.1232490Z           ]
2026-06-17T06:47:32.1232619Z         },
2026-06-17T06:47:32.1232758Z         "int": {
2026-06-17T06:47:32.1232908Z           "complete": false,
2026-06-17T06:47:32.1233057Z           "evidence": []
2026-06-17T06:47:32.1233207Z         },
2026-06-17T06:47:32.1233345Z         "unit": {
2026-06-17T06:47:32.1233503Z           "complete": true,
2026-06-17T06:47:32.1233640Z           "evidence": [
2026-06-17T06:47:32.1233779Z             {
2026-06-17T06:47:32.1233955Z               "path": "crates/spt-store/src/seed.rs",
2026-06-17T06:47:32.1234113Z               "line": 43
2026-06-17T06:47:32.1234261Z             },
2026-06-17T06:47:32.1234404Z             {
2026-06-17T06:47:32.1234575Z               "path": "crates/spt-store/src/seed.rs",
2026-06-17T06:47:32.1234723Z               "line": 59
2026-06-17T06:47:32.1234866Z             }
2026-06-17T06:47:32.1235005Z           ]
2026-06-17T06:47:32.1235138Z         }
2026-06-17T06:47:32.1235278Z       }
2026-06-17T06:47:32.1235410Z     },
2026-06-17T06:47:32.1235544Z     {
2026-06-17T06:47:32.1235696Z       "id": "REQ-START-2",
2026-06-17T06:47:32.1235910Z       "title": "Harness-hosted startup: api seed then listen",
2026-06-17T06:47:32.1236074Z       "requiredStages": [
2026-06-17T06:47:32.1236222Z         "impl",
2026-06-17T06:47:32.1236361Z         "unit",
2026-06-17T06:47:32.1236507Z         "int"
2026-06-17T06:47:32.1236656Z       ],
2026-06-17T06:47:32.1236793Z       "stages": {
2026-06-17T06:47:32.1236942Z         "doc": {
2026-06-17T06:47:32.1237089Z           "complete": false,
2026-06-17T06:47:32.1237238Z           "evidence": []
2026-06-17T06:47:32.1237380Z         },
2026-06-17T06:47:32.1237642Z         "impl": {
2026-06-17T06:47:32.1237806Z           "complete": true,
2026-06-17T06:47:32.1237952Z           "evidence": [
2026-06-17T06:47:32.1238096Z             {
2026-06-17T06:47:32.1238272Z               "path": "crates/spt/src/api/startup.rs",
2026-06-17T06:47:32.1238413Z               "line": 16
2026-06-17T06:47:32.1238557Z             },
2026-06-17T06:47:32.1238693Z             {
2026-06-17T06:47:32.1238870Z               "path": "crates/spt/src/api/startup.rs",
2026-06-17T06:47:32.1239199Z               "line": 92
2026-06-17T06:47:32.1239346Z             },
2026-06-17T06:47:32.1239481Z             {
2026-06-17T06:47:32.1239661Z               "path": "crates/spt/src/api/startup.rs",
2026-06-17T06:47:32.1239800Z               "line": 232
2026-06-17T06:47:32.1239942Z             }
2026-06-17T06:47:32.1240082Z           ]
2026-06-17T06:47:32.1240220Z         },
2026-06-17T06:47:32.1240368Z         "int": {
2026-06-17T06:47:32.1240509Z           "complete": true,
2026-06-17T06:47:32.1240658Z           "evidence": [
2026-06-17T06:47:32.1240801Z             {
2026-06-17T06:47:32.1240988Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-17T06:47:32.1241144Z               "line": 186
2026-06-17T06:47:32.1241276Z             }
2026-06-17T06:47:32.1241411Z           ]
2026-06-17T06:47:32.1241548Z         },
2026-06-17T06:47:32.1241687Z         "unit": {
2026-06-17T06:47:32.1241848Z           "complete": true,
2026-06-17T06:47:32.1241998Z           "evidence": [
2026-06-17T06:47:32.1242149Z             {
2026-06-17T06:47:32.1242322Z               "path": "crates/spt/src/api/startup.rs",
2026-06-17T06:47:32.1242473Z               "line": 466
2026-06-17T06:47:32.1242612Z             },
2026-06-17T06:47:32.1242759Z             {
2026-06-17T06:47:32.1242942Z               "path": "crates/spt/src/api/startup.rs",
2026-06-17T06:47:32.1243088Z               "line": 499
2026-06-17T06:47:32.1243232Z             }
2026-06-17T06:47:32.1243356Z           ]
2026-06-17T06:47:32.1243502Z         }
2026-06-17T06:47:32.1243640Z       }
2026-06-17T06:47:32.1243767Z     },
2026-06-17T06:47:32.1243900Z     {
2026-06-17T06:47:32.1244058Z       "id": "REQ-START-3",
2026-06-17T06:47:32.1244311Z       "title": "spt-hosted startup: spawn-session then api bind (no file)",
2026-06-17T06:47:32.1244458Z       "requiredStages": [
2026-06-17T06:47:32.1244607Z         "impl",
2026-06-17T06:47:32.1244749Z         "unit",
2026-06-17T06:47:32.1244893Z         "int"
2026-06-17T06:47:32.1245035Z       ],
2026-06-17T06:47:32.1245174Z       "stages": {
2026-06-17T06:47:32.1245317Z         "doc": {
2026-06-17T06:47:32.1245465Z           "complete": false,
2026-06-17T06:47:32.1245617Z           "evidence": []
2026-06-17T06:47:32.1245745Z         },
2026-06-17T06:47:32.1245890Z         "impl": {
2026-06-17T06:47:32.1246051Z           "complete": true,
2026-06-17T06:47:32.1246190Z           "evidence": [
2026-06-17T06:47:32.1246327Z             {
2026-06-17T06:47:32.1246522Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-17T06:47:32.1246676Z               "line": 23
2026-06-17T06:47:32.1246815Z             },
2026-06-17T06:47:32.1246949Z             {
2026-06-17T06:47:32.1247145Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-17T06:47:32.1247287Z               "line": 205
2026-06-17T06:47:32.1247431Z             },
2026-06-17T06:47:32.1247574Z             {
2026-06-17T06:47:32.1247765Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-17T06:47:32.1247922Z               "line": 221
2026-06-17T06:47:32.1248066Z             },
2026-06-17T06:47:32.1248198Z             {
2026-06-17T06:47:32.1248386Z               "path": "crates/spt/src/api/startup.rs",
2026-06-17T06:47:32.1248545Z               "line": 17
2026-06-17T06:47:32.1248681Z             },
2026-06-17T06:47:32.1248823Z             {
2026-06-17T06:47:32.1249089Z               "path": "crates/spt/src/api/startup.rs",
2026-06-17T06:47:32.1249238Z               "line": 35
2026-06-17T06:47:32.1249382Z             },
2026-06-17T06:47:32.1249630Z             {
2026-06-17T06:47:32.1249817Z               "path": "crates/spt/src/api/startup.rs",
2026-06-17T06:47:32.1249964Z               "line": 93
2026-06-17T06:47:32.1250107Z             }
2026-06-17T06:47:32.1250235Z           ]
2026-06-17T06:47:32.1250374Z         },
2026-06-17T06:47:32.1250521Z         "int": {
2026-06-17T06:47:32.1250671Z           "complete": true,
2026-06-17T06:47:32.1250827Z           "evidence": [
2026-06-17T06:47:32.1250956Z             {
2026-06-17T06:47:32.1251238Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-17T06:47:32.1251385Z               "line": 488
2026-06-17T06:47:32.1251524Z             }
2026-06-17T06:47:32.1251662Z           ]
2026-06-17T06:47:32.1251799Z         },
2026-06-17T06:47:32.1251966Z         "unit": {
2026-06-17T06:47:32.1252122Z           "complete": true,
2026-06-17T06:47:32.1252272Z           "evidence": [
2026-06-17T06:47:32.1252394Z             {
2026-06-17T06:47:32.1252582Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-17T06:47:32.1252737Z               "line": 331
2026-06-17T06:47:32.1252877Z             },
2026-06-17T06:47:32.1253024Z             {
2026-06-17T06:47:32.1253211Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-17T06:47:32.1253362Z               "line": 352
2026-06-17T06:47:32.1253502Z             },
2026-06-17T06:47:32.1253638Z             {
2026-06-17T06:47:32.1253831Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-17T06:47:32.1253987Z               "line": 362
2026-06-17T06:47:32.1254129Z             },
2026-06-17T06:47:32.1254266Z             {
2026-06-17T06:47:32.1254451Z               "path": "crates/spt/src/api/startup.rs",
2026-06-17T06:47:32.1254604Z               "line": 467
2026-06-17T06:47:32.1254737Z             },
2026-06-17T06:47:32.1254871Z             {
2026-06-17T06:47:32.1255046Z               "path": "crates/spt/src/api/startup.rs",
2026-06-17T06:47:32.1255195Z               "line": 500
2026-06-17T06:47:32.1255342Z             },
2026-06-17T06:47:32.1255481Z             {
2026-06-17T06:47:32.1255671Z               "path": "crates/spt/src/api/startup.rs",
2026-06-17T06:47:32.1255815Z               "line": 508
2026-06-17T06:47:32.1255958Z             }
2026-06-17T06:47:32.1256083Z           ]
2026-06-17T06:47:32.1256225Z         }
2026-06-17T06:47:32.1256359Z       }
2026-06-17T06:47:32.1256492Z     },
2026-06-17T06:47:32.1256630Z     {
2026-06-17T06:47:32.1256783Z       "id": "REQ-START-4",
2026-06-17T06:47:32.1257005Z       "title": "Adapter-injected env aliases (SPT/OWL/LIVE)",
2026-06-17T06:47:32.1257156Z       "requiredStages": [
2026-06-17T06:47:32.1257304Z         "impl",
2026-06-17T06:47:32.1257443Z         "unit"
2026-06-17T06:47:32.1257580Z       ],
2026-06-17T06:47:32.1257719Z       "stages": {
2026-06-17T06:47:32.1257857Z         "doc": {
2026-06-17T06:47:32.1258015Z           "complete": false,
2026-06-17T06:47:32.1258167Z           "evidence": []
2026-06-17T06:47:32.1258311Z         },
2026-06-17T06:47:32.1258448Z         "impl": {
2026-06-17T06:47:32.1258606Z           "complete": true,
2026-06-17T06:47:32.1258754Z           "evidence": [
2026-06-17T06:47:32.1258892Z             {
2026-06-17T06:47:32.1259192Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T06:47:32.1259341Z               "line": 581
2026-06-17T06:47:32.1259482Z             }
2026-06-17T06:47:32.1259611Z           ]
2026-06-17T06:47:32.1259752Z         },
2026-06-17T06:47:32.1259899Z         "int": {
2026-06-17T06:47:32.1260043Z           "complete": false,
2026-06-17T06:47:32.1260199Z           "evidence": []
2026-06-17T06:47:32.1260338Z         },
2026-06-17T06:47:32.1260476Z         "unit": {
2026-06-17T06:47:32.1260634Z           "complete": true,
2026-06-17T06:47:32.1260776Z           "evidence": [
2026-06-17T06:47:32.1260920Z             {
2026-06-17T06:47:32.1261110Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T06:47:32.1261268Z               "line": 1022
2026-06-17T06:47:32.1261410Z             }
2026-06-17T06:47:32.1261649Z           ]
2026-06-17T06:47:32.1261778Z         }
2026-06-17T06:47:32.1261912Z       }
2026-06-17T06:47:32.1262045Z     },
2026-06-17T06:47:32.1262184Z     {
2026-06-17T06:47:32.1262344Z       "id": "REQ-STORE-1",
2026-06-17T06:47:32.1263403Z       "title": "spt-store::BranchStore (git branch as versioned KV; commit=checkpoint/tip=resume, atomic multi-key, merge-native sync) is the substrate for coarse/durable/audited state (context, registry snapshot+distribution, daemon checkpoint); hot paths (B5 fsync journal) + indexed queries (SQLite spool) excluded (ADR-0011)",
2026-06-17T06:47:32.1263660Z       "requiredStages": [
2026-06-17T06:47:32.1263809Z         "impl",
2026-06-17T06:47:32.1263951Z         "unit"
2026-06-17T06:47:32.1264095Z       ],
2026-06-17T06:47:32.1264232Z       "stages": {
2026-06-17T06:47:32.1264372Z         "doc": {
2026-06-17T06:47:32.1264518Z           "complete": false,
2026-06-17T06:47:32.1264670Z           "evidence": []
2026-06-17T06:47:32.1264821Z         },
2026-06-17T06:47:32.1264963Z         "impl": {
2026-06-17T06:47:32.1265127Z           "complete": true,
2026-06-17T06:47:32.1265273Z           "evidence": [
2026-06-17T06:47:32.1265422Z             {
2026-06-17T06:47:32.1265611Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-17T06:47:32.1265760Z               "line": 23
2026-06-17T06:47:32.1265907Z             },
2026-06-17T06:47:32.1266047Z             {
2026-06-17T06:47:32.1266241Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-17T06:47:32.1266389Z               "line": 46
2026-06-17T06:47:32.1266532Z             },
2026-06-17T06:47:32.1266667Z             {
2026-06-17T06:47:32.1266856Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-17T06:47:32.1267001Z               "line": 97
2026-06-17T06:47:32.1267143Z             },
2026-06-17T06:47:32.1267287Z             {
2026-06-17T06:47:32.1267485Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-17T06:47:32.1267642Z               "line": 125
2026-06-17T06:47:32.1267783Z             },
2026-06-17T06:47:32.1267917Z             {
2026-06-17T06:47:32.1268112Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-17T06:47:32.1268251Z               "line": 181
2026-06-17T06:47:32.1268398Z             },
2026-06-17T06:47:32.1268537Z             {
2026-06-17T06:47:32.1268741Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-17T06:47:32.1268890Z               "line": 205
2026-06-17T06:47:32.1269132Z             },
2026-06-17T06:47:32.1269266Z             {
2026-06-17T06:47:32.1269467Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-17T06:47:32.1269614Z               "line": 441
2026-06-17T06:47:32.1269752Z             },
2026-06-17T06:47:32.1269896Z             {
2026-06-17T06:47:32.1270094Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-17T06:47:32.1270241Z               "line": 25
2026-06-17T06:47:32.1270387Z             },
2026-06-17T06:47:32.1270532Z             {
2026-06-17T06:47:32.1270736Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-17T06:47:32.1270884Z               "line": 120
2026-06-17T06:47:32.1271026Z             },
2026-06-17T06:47:32.1271170Z             {
2026-06-17T06:47:32.1271360Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-17T06:47:32.1271514Z               "line": 148
2026-06-17T06:47:32.1271651Z             },
2026-06-17T06:47:32.1271786Z             {
2026-06-17T06:47:32.1271980Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-17T06:47:32.1272129Z               "line": 165
2026-06-17T06:47:32.1272276Z             },
2026-06-17T06:47:32.1272415Z             {
2026-06-17T06:47:32.1272610Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-17T06:47:32.1272754Z               "line": 180
2026-06-17T06:47:32.1272899Z             },
2026-06-17T06:47:32.1273034Z             {
2026-06-17T06:47:32.1273238Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-17T06:47:32.1273506Z               "line": 198
2026-06-17T06:47:32.1273644Z             },
2026-06-17T06:47:32.1273792Z             {
2026-06-17T06:47:32.1273992Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-17T06:47:32.1274145Z               "line": 207
2026-06-17T06:47:32.1274278Z             },
2026-06-17T06:47:32.1274421Z             {
2026-06-17T06:47:32.1274613Z               "path": "crates/spt-store/src/project.rs",
2026-06-17T06:47:32.1274859Z               "line": 16
2026-06-17T06:47:32.1275004Z             },
2026-06-17T06:47:32.1275135Z             {
2026-06-17T06:47:32.1275331Z               "path": "crates/spt-store/src/project.rs",
2026-06-17T06:47:32.1275471Z               "line": 63
2026-06-17T06:47:32.1275619Z             }
2026-06-17T06:47:32.1275762Z           ]
2026-06-17T06:47:32.1275901Z         },
2026-06-17T06:47:32.1276049Z         "int": {
2026-06-17T06:47:32.1276201Z           "complete": false,
2026-06-17T06:47:32.1276354Z           "evidence": []
2026-06-17T06:47:32.1276491Z         },
2026-06-17T06:47:32.1276639Z         "unit": {
2026-06-17T06:47:32.1276802Z           "complete": true,
2026-06-17T06:47:32.1276950Z           "evidence": [
2026-06-17T06:47:32.1277092Z             {
2026-06-17T06:47:32.1277283Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-17T06:47:32.1277436Z               "line": 558
2026-06-17T06:47:32.1277580Z             },
2026-06-17T06:47:32.1277722Z             {
2026-06-17T06:47:32.1277927Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-17T06:47:32.1278073Z               "line": 568
2026-06-17T06:47:32.1278212Z             },
2026-06-17T06:47:32.1278338Z             {
2026-06-17T06:47:32.1278539Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-17T06:47:32.1278691Z               "line": 590
2026-06-17T06:47:32.1278826Z             },
2026-06-17T06:47:32.1279048Z             {
2026-06-17T06:47:32.1279240Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-17T06:47:32.1279407Z               "line": 606
2026-06-17T06:47:32.1279549Z             },
2026-06-17T06:47:32.1279692Z             {
2026-06-17T06:47:32.1279888Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-17T06:47:32.1280037Z               "line": 629
2026-06-17T06:47:32.1280179Z             },
2026-06-17T06:47:32.1280317Z             {
2026-06-17T06:47:32.1280522Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-17T06:47:32.1280669Z               "line": 472
2026-06-17T06:47:32.1280811Z             },
2026-06-17T06:47:32.1280947Z             {
2026-06-17T06:47:32.1281144Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-17T06:47:32.1281296Z               "line": 507
2026-06-17T06:47:32.1281440Z             },
2026-06-17T06:47:32.1281577Z             {
2026-06-17T06:47:32.1281769Z               "path": "crates/spt-store/src/project.rs",
2026-06-17T06:47:32.1281915Z               "line": 120
2026-06-17T06:47:32.1282064Z             },
2026-06-17T06:47:32.1282202Z             {
2026-06-17T06:47:32.1282398Z               "path": "crates/spt-store/src/project.rs",
2026-06-17T06:47:32.1282545Z               "line": 128
2026-06-17T06:47:32.1282689Z             }
2026-06-17T06:47:32.1282831Z           ]
2026-06-17T06:47:32.1282971Z         }
2026-06-17T06:47:32.1283112Z       }
2026-06-17T06:47:32.1283233Z     },
2026-06-17T06:47:32.1283370Z     {
2026-06-17T06:47:32.1283517Z       "id": "REQ-SUBNET-1",
2026-06-17T06:47:32.1283952Z       "title": "spt subnet noun namespace: status view (bare + status [NAME] [--nodes]), create (QR/otpauth), show-code; spt pair deleted",
2026-06-17T06:47:32.1284108Z       "requiredStages": [
2026-06-17T06:47:32.1284247Z         "impl",
2026-06-17T06:47:32.1284390Z         "unit"
2026-06-17T06:47:32.1284518Z       ],
2026-06-17T06:47:32.1284666Z       "stages": {
2026-06-17T06:47:32.1284809Z         "doc": {
2026-06-17T06:47:32.1284976Z           "complete": false,
2026-06-17T06:47:32.1285239Z           "evidence": []
2026-06-17T06:47:32.1285386Z         },
2026-06-17T06:47:32.1285535Z         "impl": {
2026-06-17T06:47:32.1285685Z           "complete": true,
2026-06-17T06:47:32.1285843Z           "evidence": [
2026-06-17T06:47:32.1285984Z             {
2026-06-17T06:47:32.1286189Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T06:47:32.1286336Z               "line": 281
2026-06-17T06:47:32.1286480Z             },
2026-06-17T06:47:32.1286623Z             {
2026-06-17T06:47:32.1286919Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T06:47:32.1287076Z               "line": 599
2026-06-17T06:47:32.1287214Z             },
2026-06-17T06:47:32.1287347Z             {
2026-06-17T06:47:32.1287515Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1287671Z               "line": 3123
2026-06-17T06:47:32.1287811Z             },
2026-06-17T06:47:32.1287953Z             {
2026-06-17T06:47:32.1288121Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1288277Z               "line": 3433
2026-06-17T06:47:32.1292219Z             },
2026-06-17T06:47:32.1292400Z             {
2026-06-17T06:47:32.1292600Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1292757Z               "line": 3452
2026-06-17T06:47:32.1292888Z             },
2026-06-17T06:47:32.1293024Z             {
2026-06-17T06:47:32.1293207Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1293353Z               "line": 3516
2026-06-17T06:47:32.1293502Z             },
2026-06-17T06:47:32.1293639Z             {
2026-06-17T06:47:32.1293822Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1293958Z               "line": 3558
2026-06-17T06:47:32.1294101Z             },
2026-06-17T06:47:32.1294231Z             {
2026-06-17T06:47:32.1294396Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1294550Z               "line": 3747
2026-06-17T06:47:32.1294692Z             },
2026-06-17T06:47:32.1294831Z             {
2026-06-17T06:47:32.1295007Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1295155Z               "line": 3817
2026-06-17T06:47:32.1295293Z             },
2026-06-17T06:47:32.1295437Z             {
2026-06-17T06:47:32.1295608Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1295752Z               "line": 4041
2026-06-17T06:47:32.1295889Z             },
2026-06-17T06:47:32.1296028Z             {
2026-06-17T06:47:32.1296199Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1296355Z               "line": 4678
2026-06-17T06:47:32.1296497Z             },
2026-06-17T06:47:32.1296644Z             {
2026-06-17T06:47:32.1296812Z               "path": "crates/spt/src/wansend.rs",
2026-06-17T06:47:32.1296958Z               "line": 418
2026-06-17T06:47:32.1297098Z             }
2026-06-17T06:47:32.1297239Z           ]
2026-06-17T06:47:32.1297369Z         },
2026-06-17T06:47:32.1297516Z         "int": {
2026-06-17T06:47:32.1297670Z           "complete": false,
2026-06-17T06:47:32.1297817Z           "evidence": []
2026-06-17T06:47:32.1297955Z         },
2026-06-17T06:47:32.1298094Z         "unit": {
2026-06-17T06:47:32.1298256Z           "complete": true,
2026-06-17T06:47:32.1298399Z           "evidence": [
2026-06-17T06:47:32.1298532Z             {
2026-06-17T06:47:32.1298742Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T06:47:32.1298890Z               "line": 1477
2026-06-17T06:47:32.1299137Z             },
2026-06-17T06:47:32.1299270Z             {
2026-06-17T06:47:32.1299454Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1299621Z               "line": 9188
2026-06-17T06:47:32.1299768Z             },
2026-06-17T06:47:32.1299912Z             {
2026-06-17T06:47:32.1300088Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1300227Z               "line": 9358
2026-06-17T06:47:32.1300370Z             },
2026-06-17T06:47:32.1300512Z             {
2026-06-17T06:47:32.1300674Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1300965Z               "line": 9365
2026-06-17T06:47:32.1301109Z             },
2026-06-17T06:47:32.1301248Z             {
2026-06-17T06:47:32.1301423Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1301567Z               "line": 9418
2026-06-17T06:47:32.1301713Z             },
2026-06-17T06:47:32.1301851Z             {
2026-06-17T06:47:32.1302021Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1302164Z               "line": 9435
2026-06-17T06:47:32.1302401Z             },
2026-06-17T06:47:32.1302546Z             {
2026-06-17T06:47:32.1302707Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1302869Z               "line": 9465
2026-06-17T06:47:32.1303002Z             },
2026-06-17T06:47:32.1303142Z             {
2026-06-17T06:47:32.1303322Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1303467Z               "line": 9564
2026-06-17T06:47:32.1303599Z             },
2026-06-17T06:47:32.1303728Z             {
2026-06-17T06:47:32.1303914Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1304062Z               "line": 9715
2026-06-17T06:47:32.1304204Z             }
2026-06-17T06:47:32.1304344Z           ]
2026-06-17T06:47:32.1304476Z         }
2026-06-17T06:47:32.1304613Z       }
2026-06-17T06:47:32.1304743Z     },
2026-06-17T06:47:32.1304866Z     {
2026-06-17T06:47:32.1305019Z       "id": "REQ-SUBNET-2",
2026-06-17T06:47:32.1305354Z       "title": "Guided join e2e: spt subnet join CLI initiator + always-on daemon pairing responder",
2026-06-17T06:47:32.1305524Z       "requiredStages": [
2026-06-17T06:47:32.1305668Z         "impl",
2026-06-17T06:47:32.1305810Z         "unit",
2026-06-17T06:47:32.1305954Z         "int"
2026-06-17T06:47:32.1306092Z       ],
2026-06-17T06:47:32.1306225Z       "stages": {
2026-06-17T06:47:32.1306369Z         "doc": {
2026-06-17T06:47:32.1306530Z           "complete": true,
2026-06-17T06:47:32.1306674Z           "evidence": [
2026-06-17T06:47:32.1306815Z             {
2026-06-17T06:47:32.1307053Z               "path": "docs/adr/0005-totp-seeded-spake2-node-pairing.md",
2026-06-17T06:47:32.1307208Z               "line": 60
2026-06-17T06:47:32.1307343Z             }
2026-06-17T06:47:32.1307485Z           ]
2026-06-17T06:47:32.1307614Z         },
2026-06-17T06:47:32.1307757Z         "impl": {
2026-06-17T06:47:32.1307911Z           "complete": true,
2026-06-17T06:47:32.1308053Z           "evidence": [
2026-06-17T06:47:32.1308191Z             {
2026-06-17T06:47:32.1308387Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-17T06:47:32.1308540Z               "line": 837
2026-06-17T06:47:32.1308682Z             },
2026-06-17T06:47:32.1308816Z             {
2026-06-17T06:47:32.1309097Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-17T06:47:32.1309251Z               "line": 1190
2026-06-17T06:47:32.1309398Z             },
2026-06-17T06:47:32.1309537Z             {
2026-06-17T06:47:32.1309739Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-17T06:47:32.1309897Z               "line": 633
2026-06-17T06:47:32.1310023Z             },
2026-06-17T06:47:32.1310166Z             {
2026-06-17T06:47:32.1310347Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-17T06:47:32.1310501Z               "line": 817
2026-06-17T06:47:32.1310639Z             },
2026-06-17T06:47:32.1310778Z             {
2026-06-17T06:47:32.1310968Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-17T06:47:32.1311102Z               "line": 26
2026-06-17T06:47:32.1311249Z             },
2026-06-17T06:47:32.1311392Z             {
2026-06-17T06:47:32.1311582Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-17T06:47:32.1311722Z               "line": 60
2026-06-17T06:47:32.1311855Z             },
2026-06-17T06:47:32.1311998Z             {
2026-06-17T06:47:32.1312184Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-17T06:47:32.1312349Z               "line": 168
2026-06-17T06:47:32.1312478Z             },
2026-06-17T06:47:32.1312743Z             {
2026-06-17T06:47:32.1312938Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-17T06:47:32.1313073Z               "line": 295
2026-06-17T06:47:32.1313219Z             },
2026-06-17T06:47:32.1313359Z             {
2026-06-17T06:47:32.1313548Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-17T06:47:32.1313693Z               "line": 417
2026-06-17T06:47:32.1313835Z             },
2026-06-17T06:47:32.1313978Z             {
2026-06-17T06:47:32.1314274Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-17T06:47:32.1314430Z               "line": 252
2026-06-17T06:47:32.1314569Z             },
2026-06-17T06:47:32.1314713Z             {
2026-06-17T06:47:32.1314884Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1315028Z               "line": 3479
2026-06-17T06:47:32.1315173Z             },
2026-06-17T06:47:32.1315312Z             {
2026-06-17T06:47:32.1315483Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1315641Z               "line": 3980
2026-06-17T06:47:32.1315784Z             },
2026-06-17T06:47:32.1315923Z             {
2026-06-17T06:47:32.1316103Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1316257Z               "line": 4609
2026-06-17T06:47:32.1316399Z             }
2026-06-17T06:47:32.1316538Z           ]
2026-06-17T06:47:32.1316676Z         },
2026-06-17T06:47:32.1316819Z         "int": {
2026-06-17T06:47:32.1316981Z           "complete": true,
2026-06-17T06:47:32.1317138Z           "evidence": [
2026-06-17T06:47:32.1317277Z             {
2026-06-17T06:47:32.1317475Z               "path": "crates/spt-daemon/tests/pairjoin.rs",
2026-06-17T06:47:32.1317631Z               "line": 22
2026-06-17T06:47:32.1317764Z             },
2026-06-17T06:47:32.1317908Z             {
2026-06-17T06:47:32.1318098Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-17T06:47:32.1318251Z               "line": 643
2026-06-17T06:47:32.1318383Z             },
2026-06-17T06:47:32.1318513Z             {
2026-06-17T06:47:32.1318712Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-17T06:47:32.1318856Z               "line": 885
2026-06-17T06:47:32.1319090Z             }
2026-06-17T06:47:32.1319228Z           ]
2026-06-17T06:47:32.1319371Z         },
2026-06-17T06:47:32.1319510Z         "unit": {
2026-06-17T06:47:32.1319657Z           "complete": true,
2026-06-17T06:47:32.1319806Z           "evidence": [
2026-06-17T06:47:32.1319948Z             {
2026-06-17T06:47:32.1320149Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-17T06:47:32.1320295Z               "line": 586
2026-06-17T06:47:32.1320438Z             },
2026-06-17T06:47:32.1320583Z             {
2026-06-17T06:47:32.1320756Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1320898Z               "line": 9228
2026-06-17T06:47:32.1321037Z             },
2026-06-17T06:47:32.1321175Z             {
2026-06-17T06:47:32.1321338Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1321490Z               "line": 9922
2026-06-17T06:47:32.1321623Z             }
2026-06-17T06:47:32.1321762Z           ]
2026-06-17T06:47:32.1321894Z         }
2026-06-17T06:47:32.1322034Z       }
2026-06-17T06:47:32.1322172Z     },
2026-06-17T06:47:32.1322302Z     {
2026-06-17T06:47:32.1322457Z       "id": "REQ-SUBNET-3",
2026-06-17T06:47:32.1322819Z       "title": "Node labels: hostname-default, gossiped, addressable in @node qualifiers (refuse-on-ambiguity)",
2026-06-17T06:47:32.1322976Z       "requiredStages": [
2026-06-17T06:47:32.1323126Z         "impl",
2026-06-17T06:47:32.1323289Z         "unit"
2026-06-17T06:47:32.1323493Z       ],
2026-06-17T06:47:32.1323689Z       "stages": {
2026-06-17T06:47:32.1323851Z         "doc": {
2026-06-17T06:47:32.1324023Z           "complete": false,
2026-06-17T06:47:32.1324171Z           "evidence": []
2026-06-17T06:47:32.1324314Z         },
2026-06-17T06:47:32.1324457Z         "impl": {
2026-06-17T06:47:32.1324624Z           "complete": true,
2026-06-17T06:47:32.1324935Z           "evidence": [
2026-06-17T06:47:32.1325076Z             {
2026-06-17T06:47:32.1325287Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T06:47:32.1325479Z               "line": 152
2026-06-17T06:47:32.1325620Z             },
2026-06-17T06:47:32.1325771Z             {
2026-06-17T06:47:32.1326001Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T06:47:32.1326163Z               "line": 299
2026-06-17T06:47:32.1326420Z             },
2026-06-17T06:47:32.1326564Z             {
2026-06-17T06:47:32.1326759Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T06:47:32.1326907Z               "line": 437
2026-06-17T06:47:32.1327045Z             },
2026-06-17T06:47:32.1327193Z             {
2026-06-17T06:47:32.1327399Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T06:47:32.1327545Z               "line": 480
2026-06-17T06:47:32.1327689Z             },
2026-06-17T06:47:32.1327827Z             {
2026-06-17T06:47:32.1328021Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T06:47:32.1328168Z               "line": 125
2026-06-17T06:47:32.1328309Z             },
2026-06-17T06:47:32.1328454Z             {
2026-06-17T06:47:32.1328638Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T06:47:32.1328788Z               "line": 253
2026-06-17T06:47:32.1328925Z             },
2026-06-17T06:47:32.1329168Z             {
2026-06-17T06:47:32.1329355Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T06:47:32.1329507Z               "line": 264
2026-06-17T06:47:32.1329636Z             },
2026-06-17T06:47:32.1329779Z             {
2026-06-17T06:47:32.1329970Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T06:47:32.1330117Z               "line": 285
2026-06-17T06:47:32.1330256Z             },
2026-06-17T06:47:32.1330389Z             {
2026-06-17T06:47:32.1330581Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T06:47:32.1330732Z               "line": 589
2026-06-17T06:47:32.1330864Z             },
2026-06-17T06:47:32.1330998Z             {
2026-06-17T06:47:32.1331181Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T06:47:32.1331326Z               "line": 648
2026-06-17T06:47:32.1331468Z             },
2026-06-17T06:47:32.1331607Z             {
2026-06-17T06:47:32.1331802Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-17T06:47:32.1331950Z               "line": 61
2026-06-17T06:47:32.1332097Z             },
2026-06-17T06:47:32.1332232Z             {
2026-06-17T06:47:32.1332422Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-17T06:47:32.1332575Z               "line": 90
2026-06-17T06:47:32.1332707Z             },
2026-06-17T06:47:32.1332852Z             {
2026-06-17T06:47:32.1333041Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-17T06:47:32.1333200Z               "line": 125
2026-06-17T06:47:32.1333337Z             },
2026-06-17T06:47:32.1333469Z             {
2026-06-17T06:47:32.1333663Z               "path": "crates/spt-store/src/hostlabel.rs",
2026-06-17T06:47:32.1333811Z               "line": 9
2026-06-17T06:47:32.1333959Z             },
2026-06-17T06:47:32.1334097Z             {
2026-06-17T06:47:32.1334259Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1334416Z               "line": 3817
2026-06-17T06:47:32.1334555Z             },
2026-06-17T06:47:32.1334697Z             {
2026-06-17T06:47:32.1334875Z               "path": "crates/spt/src/wansend.rs",
2026-06-17T06:47:32.1335031Z               "line": 445
2026-06-17T06:47:32.1335161Z             }
2026-06-17T06:47:32.1335294Z           ]
2026-06-17T06:47:32.1335424Z         },
2026-06-17T06:47:32.1335565Z         "int": {
2026-06-17T06:47:32.1335724Z           "complete": false,
2026-06-17T06:47:32.1335870Z           "evidence": []
2026-06-17T06:47:32.1336014Z         },
2026-06-17T06:47:32.1336157Z         "unit": {
2026-06-17T06:47:32.1336408Z           "complete": true,
2026-06-17T06:47:32.1336547Z           "evidence": [
2026-06-17T06:47:32.1336685Z             {
2026-06-17T06:47:32.1336880Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T06:47:32.1337029Z               "line": 1304
2026-06-17T06:47:32.1337177Z             },
2026-06-17T06:47:32.1337305Z             {
2026-06-17T06:47:32.1337510Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T06:47:32.1337654Z               "line": 1606
2026-06-17T06:47:32.1337901Z             },
2026-06-17T06:47:32.1338036Z             {
2026-06-17T06:47:32.1338230Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-17T06:47:32.1338374Z               "line": 888
2026-06-17T06:47:32.1338515Z             },
2026-06-17T06:47:32.1338648Z             {
2026-06-17T06:47:32.1338837Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T06:47:32.1339048Z               "line": 959
2026-06-17T06:47:32.1339185Z             },
2026-06-17T06:47:32.1339324Z             {
2026-06-17T06:47:32.1339527Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T06:47:32.1339667Z               "line": 1009
2026-06-17T06:47:32.1339814Z             },
2026-06-17T06:47:32.1339958Z             {
2026-06-17T06:47:32.1340157Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T06:47:32.1340305Z               "line": 1068
2026-06-17T06:47:32.1340444Z             },
2026-06-17T06:47:32.1340588Z             {
2026-06-17T06:47:32.1340782Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-17T06:47:32.1340931Z               "line": 234
2026-06-17T06:47:32.1341064Z             },
2026-06-17T06:47:32.1341208Z             {
2026-06-17T06:47:32.1341401Z               "path": "crates/spt-store/src/hostlabel.rs",
2026-06-17T06:47:32.1341549Z               "line": 49
2026-06-17T06:47:32.1341690Z             },
2026-06-17T06:47:32.1341823Z             {
2026-06-17T06:47:32.1341990Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1342148Z               "line": 9564
2026-06-17T06:47:32.1342291Z             },
2026-06-17T06:47:32.1342438Z             {
2026-06-17T06:47:32.1342610Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1342758Z               "line": 9670
2026-06-17T06:47:32.1342901Z             },
2026-06-17T06:47:32.1343044Z             {
2026-06-17T06:47:32.1343215Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1343378Z               "line": 9888
2026-06-17T06:47:32.1343526Z             }
2026-06-17T06:47:32.1343663Z           ]
2026-06-17T06:47:32.1343812Z         }
2026-06-17T06:47:32.1343948Z       }
2026-06-17T06:47:32.1344092Z     },
2026-06-17T06:47:32.1344228Z     {
2026-06-17T06:47:32.1344371Z       "id": "REQ-SUBNET-4",
2026-06-17T06:47:32.1344763Z       "title": "Subnet membership mutations elevation-gated (create = seed reveal; join = trust-boundary enrollment)",
2026-06-17T06:47:32.1344914Z       "requiredStages": [
2026-06-17T06:47:32.1345068Z         "impl",
2026-06-17T06:47:32.1345205Z         "unit"
2026-06-17T06:47:32.1345354Z       ],
2026-06-17T06:47:32.1345496Z       "stages": {
2026-06-17T06:47:32.1345644Z         "doc": {
2026-06-17T06:47:32.1345806Z           "complete": true,
2026-06-17T06:47:32.1345954Z           "evidence": [
2026-06-17T06:47:32.1346092Z             {
2026-06-17T06:47:32.1346322Z               "path": "docs/adr/0005-totp-seeded-spake2-node-pairing.md",
2026-06-17T06:47:32.1346478Z               "line": 60
2026-06-17T06:47:32.1346642Z             }
2026-06-17T06:47:32.1346769Z           ]
2026-06-17T06:47:32.1346916Z         },
2026-06-17T06:47:32.1347060Z         "impl": {
2026-06-17T06:47:32.1347221Z           "complete": true,
2026-06-17T06:47:32.1347369Z           "evidence": [
2026-06-17T06:47:32.1347512Z             {
2026-06-17T06:47:32.1347675Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1347831Z               "line": 3123
2026-06-17T06:47:32.1347975Z             },
2026-06-17T06:47:32.1348219Z             {
2026-06-17T06:47:32.1348395Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1348543Z               "line": 4576
2026-06-17T06:47:32.1348689Z             },
2026-06-17T06:47:32.1348838Z             {
2026-06-17T06:47:32.1349061Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1349218Z               "line": 4609
2026-06-17T06:47:32.1349344Z             }
2026-06-17T06:47:32.1349478Z           ]
2026-06-17T06:47:32.1349608Z         },
2026-06-17T06:47:32.1349855Z         "int": {
2026-06-17T06:47:32.1350016Z           "complete": false,
2026-06-17T06:47:32.1350166Z           "evidence": []
2026-06-17T06:47:32.1350312Z         },
2026-06-17T06:47:32.1350456Z         "unit": {
2026-06-17T06:47:32.1350613Z           "complete": true,
2026-06-17T06:47:32.1350761Z           "evidence": [
2026-06-17T06:47:32.1350903Z             {
2026-06-17T06:47:32.1351076Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1351223Z               "line": 9344
2026-06-17T06:47:32.1351381Z             },
2026-06-17T06:47:32.1351524Z             {
2026-06-17T06:47:32.1351701Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1351848Z               "line": 9418
2026-06-17T06:47:32.1351984Z             }
2026-06-17T06:47:32.1352123Z           ]
2026-06-17T06:47:32.1352264Z         }
2026-06-17T06:47:32.1352403Z       }
2026-06-17T06:47:32.1352531Z     },
2026-06-17T06:47:32.1352664Z     {
2026-06-17T06:47:32.1352813Z       "id": "REQ-SUBNET-5",
2026-06-17T06:47:32.1354229Z       "title": "Per-subnet serve-state: spt subnet detach <NAME> [--save] / attach <NAME> [--save] — daemon keeps running, stops/starts advertising + connecting for that subnet (peer pump + responder selective); --save persists the startup default in daemon config; the all-attached banner gains per-subnet states (M8 decision 6, --save renamed from --auto per decision 25 session)",
2026-06-17T06:47:32.1354401Z       "requiredStages": [
2026-06-17T06:47:32.1354546Z         "impl",
2026-06-17T06:47:32.1354694Z         "unit",
2026-06-17T06:47:32.1354840Z         "int"
2026-06-17T06:47:32.1354988Z       ],
2026-06-17T06:47:32.1355127Z       "stages": {
2026-06-17T06:47:32.1355318Z         "doc": {
2026-06-17T06:47:32.1355484Z           "complete": false,
2026-06-17T06:47:32.1355637Z           "evidence": []
2026-06-17T06:47:32.1355784Z         },
2026-06-17T06:47:32.1355928Z         "impl": {
2026-06-17T06:47:32.1356090Z           "complete": true,
2026-06-17T06:47:32.1356243Z           "evidence": [
2026-06-17T06:47:32.1356395Z             {
2026-06-17T06:47:32.1356601Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-17T06:47:32.1356748Z               "line": 128
2026-06-17T06:47:32.1356896Z             },
2026-06-17T06:47:32.1357038Z             {
2026-06-17T06:47:32.1357235Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-17T06:47:32.1357395Z               "line": 413
2026-06-17T06:47:32.1357543Z             },
2026-06-17T06:47:32.1357691Z             {
2026-06-17T06:47:32.1357873Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-17T06:47:32.1358038Z               "line": 74
2026-06-17T06:47:32.1358173Z             },
2026-06-17T06:47:32.1358320Z             {
2026-06-17T06:47:32.1358512Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-17T06:47:32.1358668Z               "line": 332
2026-06-17T06:47:32.1358812Z             },
2026-06-17T06:47:32.1359035Z             {
2026-06-17T06:47:32.1359231Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-17T06:47:32.1359388Z               "line": 621
2026-06-17T06:47:32.1359531Z             },
2026-06-17T06:47:32.1359678Z             {
2026-06-17T06:47:32.1359882Z               "path": "crates/spt-daemon/src/serveprobe.rs",
2026-06-17T06:47:32.1360038Z               "line": 31
2026-06-17T06:47:32.1360178Z             },
2026-06-17T06:47:32.1360324Z             {
2026-06-17T06:47:32.1360516Z               "path": "crates/spt-daemon/src/serveprobe.rs",
2026-06-17T06:47:32.1360778Z               "line": 50
2026-06-17T06:47:32.1360924Z             },
2026-06-17T06:47:32.1361064Z             {
2026-06-17T06:47:32.1361268Z               "path": "crates/spt-daemon/src/serveprobe.rs",
2026-06-17T06:47:32.1361417Z               "line": 69
2026-06-17T06:47:32.1361559Z             },
2026-06-17T06:47:32.1361703Z             {
2026-06-17T06:47:32.1361897Z               "path": "crates/spt-daemon/src/serveprobe.rs",
2026-06-17T06:47:32.1362047Z               "line": 113
2026-06-17T06:47:32.1362285Z             },
2026-06-17T06:47:32.1362436Z             {
2026-06-17T06:47:32.1362636Z               "path": "crates/spt-net/src/net/serveprobe.rs",
2026-06-17T06:47:32.1362791Z               "line": 25
2026-06-17T06:47:32.1362929Z             },
2026-06-17T06:47:32.1363068Z             {
2026-06-17T06:47:32.1363268Z               "path": "crates/spt-net/src/net/serveprobe.rs",
2026-06-17T06:47:32.1363406Z               "line": 34
2026-06-17T06:47:32.1363544Z             },
2026-06-17T06:47:32.1363692Z             {
2026-06-17T06:47:32.1363883Z               "path": "crates/spt-store/src/attachment.rs",
2026-06-17T06:47:32.1364030Z               "line": 17
2026-06-17T06:47:32.1364173Z             },
2026-06-17T06:47:32.1364317Z             {
2026-06-17T06:47:32.1364488Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1364641Z               "line": 4534
2026-06-17T06:47:32.1364779Z             },
2026-06-17T06:47:32.1364914Z             {
2026-06-17T06:47:32.1365106Z               "path": "crates/spt/src/wansend.rs",
2026-06-17T06:47:32.1365255Z               "line": 419
2026-06-17T06:47:32.1365405Z             }
2026-06-17T06:47:32.1365534Z           ]
2026-06-17T06:47:32.1365672Z         },
2026-06-17T06:47:32.1365806Z         "int": {
2026-06-17T06:47:32.1365959Z           "complete": true,
2026-06-17T06:47:32.1366116Z           "evidence": [
2026-06-17T06:47:32.1366269Z             {
2026-06-17T06:47:32.1366494Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-17T06:47:32.1366650Z               "line": 817
2026-06-17T06:47:32.1366784Z             }
2026-06-17T06:47:32.1366927Z           ]
2026-06-17T06:47:32.1367070Z         },
2026-06-17T06:47:32.1367212Z         "unit": {
2026-06-17T06:47:32.1367370Z           "complete": true,
2026-06-17T06:47:32.1367527Z           "evidence": [
2026-06-17T06:47:32.1367665Z             {
2026-06-17T06:47:32.1367889Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-17T06:47:32.1368027Z               "line": 341
2026-06-17T06:47:32.1368171Z             },
2026-06-17T06:47:32.1368312Z             {
2026-06-17T06:47:32.1368514Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-17T06:47:32.1368690Z               "line": 1115
2026-06-17T06:47:32.1368838Z             },
2026-06-17T06:47:32.1369057Z             {
2026-06-17T06:47:32.1369238Z               "path": "crates/spt-daemon/src/serveprobe.rs",
2026-06-17T06:47:32.1369401Z               "line": 151
2026-06-17T06:47:32.1369548Z             },
2026-06-17T06:47:32.1369701Z             {
2026-06-17T06:47:32.1369900Z               "path": "crates/spt-net/src/net/serveprobe.rs",
2026-06-17T06:47:32.1370049Z               "line": 61
2026-06-17T06:47:32.1370195Z             },
2026-06-17T06:47:32.1370329Z             {
2026-06-17T06:47:32.1370527Z               "path": "crates/spt-store/src/attachment.rs",
2026-06-17T06:47:32.1370685Z               "line": 111
2026-06-17T06:47:32.1370822Z             },
2026-06-17T06:47:32.1370970Z             {
2026-06-17T06:47:32.1371155Z               "path": "crates/spt-store/src/attachment.rs",
2026-06-17T06:47:32.1371305Z               "line": 138
2026-06-17T06:47:32.1371447Z             },
2026-06-17T06:47:32.1371595Z             {
2026-06-17T06:47:32.1371790Z               "path": "crates/spt-store/src/attachment.rs",
2026-06-17T06:47:32.1371934Z               "line": 148
2026-06-17T06:47:32.1372081Z             },
2026-06-17T06:47:32.1372211Z             {
2026-06-17T06:47:32.1372386Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1372644Z               "line": 9245
2026-06-17T06:47:32.1372782Z             }
2026-06-17T06:47:32.1372922Z           ]
2026-06-17T06:47:32.1373062Z         }
2026-06-17T06:47:32.1373205Z       }
2026-06-17T06:47:32.1373328Z     },
2026-06-17T06:47:32.1373475Z     {
2026-06-17T06:47:32.1373633Z       "id": "REQ-SUBNET-6",
2026-06-17T06:47:32.1374482Z       "title": "Trust lifecycle verbs, elevation-gated: spt subnet leave <NAME> (membership exit) and spt subnet prune <node> (removes a dead identity's trust + registry rows, killing its dead dials; trust mutation = security surface, REQ-PAIR-6 gate machinery) (M8 decisions 6-7)",
2026-06-17T06:47:32.1374748Z       "requiredStages": [
2026-06-17T06:47:32.1374886Z         "impl",
2026-06-17T06:47:32.1375034Z         "unit"
2026-06-17T06:47:32.1375164Z       ],
2026-06-17T06:47:32.1375306Z       "stages": {
2026-06-17T06:47:32.1375450Z         "doc": {
2026-06-17T06:47:32.1375605Z           "complete": false,
2026-06-17T06:47:32.1375772Z           "evidence": []
2026-06-17T06:47:32.1375927Z         },
2026-06-17T06:47:32.1376094Z         "impl": {
2026-06-17T06:47:32.1376242Z           "complete": true,
2026-06-17T06:47:32.1376380Z           "evidence": [
2026-06-17T06:47:32.1376538Z             {
2026-06-17T06:47:32.1376748Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T06:47:32.1376895Z               "line": 254
2026-06-17T06:47:32.1377049Z             },
2026-06-17T06:47:32.1377205Z             {
2026-06-17T06:47:32.1377378Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1377534Z               "line": 4192
2026-06-17T06:47:32.1377669Z             },
2026-06-17T06:47:32.1377801Z             {
2026-06-17T06:47:32.1377983Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1378130Z               "line": 4209
2026-06-17T06:47:32.1378274Z             },
2026-06-17T06:47:32.1378407Z             {
2026-06-17T06:47:32.1378582Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1378726Z               "line": 4262
2026-06-17T06:47:32.1378867Z             },
2026-06-17T06:47:32.1379088Z             {
2026-06-17T06:47:32.1379245Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1379408Z               "line": 4285
2026-06-17T06:47:32.1379555Z             }
2026-06-17T06:47:32.1379703Z           ]
2026-06-17T06:47:32.1379850Z         },
2026-06-17T06:47:32.1379989Z         "int": {
2026-06-17T06:47:32.1380150Z           "complete": false,
2026-06-17T06:47:32.1380304Z           "evidence": []
2026-06-17T06:47:32.1380451Z         },
2026-06-17T06:47:32.1380595Z         "unit": {
2026-06-17T06:47:32.1380750Z           "complete": true,
2026-06-17T06:47:32.1380936Z           "evidence": [
2026-06-17T06:47:32.1381072Z             {
2026-06-17T06:47:32.1381250Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1381401Z               "line": 9259
2026-06-17T06:47:32.1381540Z             },
2026-06-17T06:47:32.1381674Z             {
2026-06-17T06:47:32.1381850Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1382002Z               "line": 9292
2026-06-17T06:47:32.1382147Z             },
2026-06-17T06:47:32.1382294Z             {
2026-06-17T06:47:32.1382456Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1382618Z               "line": 9301
2026-06-17T06:47:32.1382751Z             }
2026-06-17T06:47:32.1382899Z           ]
2026-06-17T06:47:32.1383037Z         }
2026-06-17T06:47:32.1383181Z       }
2026-06-17T06:47:32.1383314Z     },
2026-06-17T06:47:32.1383444Z     {
2026-06-17T06:47:32.1383608Z       "id": "REQ-SUBNET-7",
2026-06-17T06:47:32.1385489Z       "title": "Per-machine re-pair trust overwrite: registry rows carry a hashed stable machine identifier (OS machine id /etc/machine-id|MachineGuid, domain-separated SHA-256 before gossip, spt-minted persisted UUID fallback; additive serde-default field — old rows parse clean); a COMPLETED pairing ceremony presenting the same node label AND machine id as an existing trusted row evicts the superseded identity's trust + registry rows on the seed-holder and replicates the eviction; a gossiped claim alone never evicts trust (M8 decisions 13, 22)",
2026-06-17T06:47:32.1385789Z       "requiredStages": [
2026-06-17T06:47:32.1385943Z         "impl",
2026-06-17T06:47:32.1386091Z         "unit"
2026-06-17T06:47:32.1386236Z       ],
2026-06-17T06:47:32.1386380Z       "stages": {
2026-06-17T06:47:32.1386516Z         "doc": {
2026-06-17T06:47:32.1386769Z           "complete": false,
2026-06-17T06:47:32.1386926Z           "evidence": []
2026-06-17T06:47:32.1387075Z         },
2026-06-17T06:47:32.1387216Z         "impl": {
2026-06-17T06:47:32.1387374Z           "complete": true,
2026-06-17T06:47:32.1387522Z           "evidence": [
2026-06-17T06:47:32.1387665Z             {
2026-06-17T06:47:32.1387870Z               "path": "crates/spt-daemon/src/machineid.rs",
2026-06-17T06:47:32.1388022Z               "line": 17
2026-06-17T06:47:32.1388170Z             },
2026-06-17T06:47:32.1388309Z             {
2026-06-17T06:47:32.1388505Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-17T06:47:32.1388666Z               "line": 103
2026-06-17T06:47:32.1388800Z             },
2026-06-17T06:47:32.1389033Z             {
2026-06-17T06:47:32.1389229Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-17T06:47:32.1389390Z               "line": 312
2026-06-17T06:47:32.1389529Z             },
2026-06-17T06:47:32.1389667Z             {
2026-06-17T06:47:32.1389877Z               "path": "crates/spt-daemon/src/pump/registry.rs",
2026-06-17T06:47:32.1390029Z               "line": 131
2026-06-17T06:47:32.1390173Z             },
2026-06-17T06:47:32.1390315Z             {
2026-06-17T06:47:32.1390516Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T06:47:32.1390658Z               "line": 160
2026-06-17T06:47:32.1390808Z             },
2026-06-17T06:47:32.1390954Z             {
2026-06-17T06:47:32.1391155Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T06:47:32.1391315Z               "line": 441
2026-06-17T06:47:32.1391459Z             },
2026-06-17T06:47:32.1391604Z             {
2026-06-17T06:47:32.1391805Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T06:47:32.1391957Z               "line": 618
2026-06-17T06:47:32.1392091Z             },
2026-06-17T06:47:32.1392224Z             {
2026-06-17T06:47:32.1392439Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T06:47:32.1392601Z               "line": 658
2026-06-17T06:47:32.1392749Z             },
2026-06-17T06:47:32.1392892Z             {
2026-06-17T06:47:32.1393097Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T06:47:32.1393258Z               "line": 714
2026-06-17T06:47:32.1393393Z             },
2026-06-17T06:47:32.1393540Z             {
2026-06-17T06:47:32.1393741Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-17T06:47:32.1393893Z               "line": 136
2026-06-17T06:47:32.1394042Z             },
2026-06-17T06:47:32.1394182Z             {
2026-06-17T06:47:32.1394382Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T06:47:32.1394528Z               "line": 139
2026-06-17T06:47:32.1394677Z             }
2026-06-17T06:47:32.1394810Z           ]
2026-06-17T06:47:32.1394949Z         },
2026-06-17T06:47:32.1395096Z         "int": {
2026-06-17T06:47:32.1395244Z           "complete": false,
2026-06-17T06:47:32.1395397Z           "evidence": []
2026-06-17T06:47:32.1395544Z         },
2026-06-17T06:47:32.1395687Z         "unit": {
2026-06-17T06:47:32.1395835Z           "complete": true,
2026-06-17T06:47:32.1395998Z           "evidence": [
2026-06-17T06:47:32.1396140Z             {
2026-06-17T06:47:32.1396345Z               "path": "crates/spt-daemon/src/machineid.rs",
2026-06-17T06:47:32.1396503Z               "line": 136
2026-06-17T06:47:32.1396646Z             },
2026-06-17T06:47:32.1396792Z             {
2026-06-17T06:47:32.1396977Z               "path": "crates/spt-daemon/src/machineid.rs",
2026-06-17T06:47:32.1397244Z               "line": 156
2026-06-17T06:47:32.1397385Z             },
2026-06-17T06:47:32.1397525Z             {
2026-06-17T06:47:32.1397729Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T06:47:32.1397883Z               "line": 935
2026-06-17T06:47:32.1398029Z             },
2026-06-17T06:47:32.1402817Z             {
2026-06-17T06:47:32.1403094Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-17T06:47:32.1403528Z               "line": 957
2026-06-17T06:47:32.1403676Z             },
2026-06-17T06:47:32.1403819Z             {
2026-06-17T06:47:32.1404033Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-17T06:47:32.1404182Z               "line": 1419
2026-06-17T06:47:32.1404329Z             },
2026-06-17T06:47:32.1404463Z             {
2026-06-17T06:47:32.1404667Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-17T06:47:32.1404819Z               "line": 1004
2026-06-17T06:47:32.1404970Z             }
2026-06-17T06:47:32.1405102Z           ]
2026-06-17T06:47:32.1405247Z         }
2026-06-17T06:47:32.1405384Z       }
2026-06-17T06:47:32.1405523Z     },
2026-06-17T06:47:32.1405666Z     {
2026-06-17T06:47:32.1405814Z       "id": "REQ-SUBNET-8",
2026-06-17T06:47:32.1407140Z       "title": "Status render honesty: zero-subnet text is daemon-aware ('No subnets registered — this node is standalone.' + daemon-running-dependent blurb, never implying messaging works while the daemon is down); hint footer prints on bare spt subnet only (status drops it); a stalled pump is surfaced in subnet status, never rendered implied-healthy (M8 decisions 11-12, 23)",
2026-06-17T06:47:32.1407314Z       "requiredStages": [
2026-06-17T06:47:32.1407467Z         "impl",
2026-06-17T06:47:32.1407598Z         "unit"
2026-06-17T06:47:32.1407732Z       ],
2026-06-17T06:47:32.1407880Z       "stages": {
2026-06-17T06:47:32.1408017Z         "doc": {
2026-06-17T06:47:32.1408185Z           "complete": false,
2026-06-17T06:47:32.1408342Z           "evidence": []
2026-06-17T06:47:32.1408481Z         },
2026-06-17T06:47:32.1408627Z         "impl": {
2026-06-17T06:47:32.1408781Z           "complete": true,
2026-06-17T06:47:32.1408928Z           "evidence": [
2026-06-17T06:47:32.1409167Z             {
2026-06-17T06:47:32.1409368Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1409525Z               "line": 3559
2026-06-17T06:47:32.1409669Z             },
2026-06-17T06:47:32.1409815Z             {
2026-06-17T06:47:32.1409979Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1410134Z               "line": 3588
2026-06-17T06:47:32.1410277Z             },
2026-06-17T06:47:32.1410426Z             {
2026-06-17T06:47:32.1410601Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1410750Z               "line": 3605
2026-06-17T06:47:32.1410901Z             },
2026-06-17T06:47:32.1411040Z             {
2026-06-17T06:47:32.1411216Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1411374Z               "line": 3628
2026-06-17T06:47:32.1411521Z             },
2026-06-17T06:47:32.1411660Z             {
2026-06-17T06:47:32.1411831Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1411980Z               "line": 4042
2026-06-17T06:47:32.1412112Z             }
2026-06-17T06:47:32.1412257Z           ]
2026-06-17T06:47:32.1412398Z         },
2026-06-17T06:47:32.1412545Z         "int": {
2026-06-17T06:47:32.1412691Z           "complete": false,
2026-06-17T06:47:32.1412848Z           "evidence": []
2026-06-17T06:47:32.1412997Z         },
2026-06-17T06:47:32.1413134Z         "unit": {
2026-06-17T06:47:32.1413297Z           "complete": true,
2026-06-17T06:47:32.1413434Z           "evidence": [
2026-06-17T06:47:32.1413631Z             {
2026-06-17T06:47:32.1413917Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1414073Z               "line": 9449
2026-06-17T06:47:32.1414222Z             },
2026-06-17T06:47:32.1414480Z             {
2026-06-17T06:47:32.1414651Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1414805Z               "line": 9465
2026-06-17T06:47:32.1414946Z             }
2026-06-17T06:47:32.1415076Z           ]
2026-06-17T06:47:32.1415218Z         }
2026-06-17T06:47:32.1415364Z       }
2026-06-17T06:47:32.1415484Z     },
2026-06-17T06:47:32.1415630Z     {
2026-06-17T06:47:32.1415773Z       "id": "REQ-TERM-1",
2026-06-17T06:47:32.1416020Z       "title": "Process-supervisor terminal wrapper hosting broker PTYs",
2026-06-17T06:47:32.1416283Z       "requiredStages": [
2026-06-17T06:47:32.1416436Z         "impl",
2026-06-17T06:47:32.1416583Z         "unit"
2026-06-17T06:47:32.1416723Z       ],
2026-06-17T06:47:32.1416874Z       "stages": {
2026-06-17T06:47:32.1417013Z         "doc": {
2026-06-17T06:47:32.1417165Z           "complete": false,
2026-06-17T06:47:32.1417323Z           "evidence": []
2026-06-17T06:47:32.1417470Z         },
2026-06-17T06:47:32.1417614Z         "impl": {
2026-06-17T06:47:32.1417771Z           "complete": true,
2026-06-17T06:47:32.1417917Z           "evidence": [
2026-06-17T06:47:32.1418046Z             {
2026-06-17T06:47:32.1418239Z               "path": "crates/spt-term/src/pty.rs",
2026-06-17T06:47:32.1418388Z               "line": 59
2026-06-17T06:47:32.1418534Z             },
2026-06-17T06:47:32.1418674Z             {
2026-06-17T06:47:32.1418858Z               "path": "crates/spt-term/src/pty.rs",
2026-06-17T06:47:32.1419069Z               "line": 205
2026-06-17T06:47:32.1419207Z             },
2026-06-17T06:47:32.1419365Z             {
2026-06-17T06:47:32.1419580Z               "path": "crates/spt-term/src/surface.rs",
2026-06-17T06:47:32.1419727Z               "line": 100
2026-06-17T06:47:32.1419875Z             }
2026-06-17T06:47:32.1420004Z           ]
2026-06-17T06:47:32.1420146Z         },
2026-06-17T06:47:32.1420291Z         "int": {
2026-06-17T06:47:32.1420451Z           "complete": false,
2026-06-17T06:47:32.1420596Z           "evidence": []
2026-06-17T06:47:32.1420751Z         },
2026-06-17T06:47:32.1420899Z         "unit": {
2026-06-17T06:47:32.1421056Z           "complete": true,
2026-06-17T06:47:32.1421199Z           "evidence": [
2026-06-17T06:47:32.1421338Z             {
2026-06-17T06:47:32.1421524Z               "path": "crates/spt-term/tests/surface.rs",
2026-06-17T06:47:32.1421676Z               "line": 24
2026-06-17T06:47:32.1421820Z             },
2026-06-17T06:47:32.1421967Z             {
2026-06-17T06:47:32.1422149Z               "path": "crates/spt-term/tests/surface.rs",
2026-06-17T06:47:32.1422301Z               "line": 56
2026-06-17T06:47:32.1422445Z             }
2026-06-17T06:47:32.1422577Z           ]
2026-06-17T06:47:32.1422721Z         }
2026-06-17T06:47:32.1422864Z       }
2026-06-17T06:47:32.1422996Z     },
2026-06-17T06:47:32.1423120Z     {
2026-06-17T06:47:32.1423265Z       "id": "REQ-TERM-2",
2026-06-17T06:47:32.1423524Z       "title": "session-surface abstraction; send-keys + send-line injection",
2026-06-17T06:47:32.1423694Z       "requiredStages": [
2026-06-17T06:47:32.1423838Z         "impl",
2026-06-17T06:47:32.1423980Z         "unit"
2026-06-17T06:47:32.1424115Z       ],
2026-06-17T06:47:32.1424257Z       "stages": {
2026-06-17T06:47:32.1424396Z         "doc": {
2026-06-17T06:47:32.1424553Z           "complete": false,
2026-06-17T06:47:32.1424706Z           "evidence": []
2026-06-17T06:47:32.1424829Z         },
2026-06-17T06:47:32.1424982Z         "impl": {
2026-06-17T06:47:32.1425134Z           "complete": true,
2026-06-17T06:47:32.1425287Z           "evidence": [
2026-06-17T06:47:32.1425431Z             {
2026-06-17T06:47:32.1425612Z               "path": "crates/spt-term/src/surface.rs",
2026-06-17T06:47:32.1425764Z               "line": 117
2026-06-17T06:47:32.1425910Z             },
2026-06-17T06:47:32.1426054Z             {
2026-06-17T06:47:32.1426241Z               "path": "crates/spt-term/src/surface.rs",
2026-06-17T06:47:32.1426396Z               "line": 127
2026-06-17T06:47:32.1426523Z             }
2026-06-17T06:47:32.1426753Z           ]
2026-06-17T06:47:32.1426900Z         },
2026-06-17T06:47:32.1427039Z         "int": {
2026-06-17T06:47:32.1427200Z           "complete": false,
2026-06-17T06:47:32.1427349Z           "evidence": []
2026-06-17T06:47:32.1427487Z         },
2026-06-17T06:47:32.1427626Z         "unit": {
2026-06-17T06:47:32.1427768Z           "complete": true,
2026-06-17T06:47:32.1427922Z           "evidence": [
2026-06-17T06:47:32.1428063Z             {
2026-06-17T06:47:32.1428251Z               "path": "crates/spt-term/tests/inject.rs",
2026-06-17T06:47:32.1428496Z               "line": 46
2026-06-17T06:47:32.1428639Z             },
2026-06-17T06:47:32.1428784Z             {
2026-06-17T06:47:32.1429057Z               "path": "crates/spt-term/tests/inject.rs",
2026-06-17T06:47:32.1429210Z               "line": 77
2026-06-17T06:47:32.1429343Z             }
2026-06-17T06:47:32.1429501Z           ]
2026-06-17T06:47:32.1429634Z         }
2026-06-17T06:47:32.1429777Z       }
2026-06-17T06:47:32.1429911Z     },
2026-06-17T06:47:32.1430048Z     {
2026-06-17T06:47:32.1430193Z       "id": "REQ-TERM-3",
2026-06-17T06:47:32.1430406Z       "title": "Byte-stream remote terminal streaming for v1",
2026-06-17T06:47:32.1430564Z       "requiredStages": [
2026-06-17T06:47:32.1430711Z         "impl",
2026-06-17T06:47:32.1430851Z         "unit"
2026-06-17T06:47:32.1430998Z       ],
2026-06-17T06:47:32.1431142Z       "stages": {
2026-06-17T06:47:32.1431287Z         "doc": {
2026-06-17T06:47:32.1431440Z           "complete": false,
2026-06-17T06:47:32.1431588Z           "evidence": []
2026-06-17T06:47:32.1431731Z         },
2026-06-17T06:47:32.1431875Z         "impl": {
2026-06-17T06:47:32.1432031Z           "complete": true,
2026-06-17T06:47:32.1432174Z           "evidence": [
2026-06-17T06:47:32.1432322Z             {
2026-06-17T06:47:32.1432508Z               "path": "crates/spt-term/src/stream.rs",
2026-06-17T06:47:32.1432651Z               "line": 71
2026-06-17T06:47:32.1432790Z             }
2026-06-17T06:47:32.1432922Z           ]
2026-06-17T06:47:32.1433062Z         },
2026-06-17T06:47:32.1433194Z         "int": {
2026-06-17T06:47:32.1433349Z           "complete": false,
2026-06-17T06:47:32.1433504Z           "evidence": []
2026-06-17T06:47:32.1433652Z         },
2026-06-17T06:47:32.1433798Z         "unit": {
2026-06-17T06:47:32.1433949Z           "complete": true,
2026-06-17T06:47:32.1434104Z           "evidence": [
2026-06-17T06:47:32.1434240Z             {
2026-06-17T06:47:32.1434427Z               "path": "crates/spt-term/tests/stream.rs",
2026-06-17T06:47:32.1434574Z               "line": 37
2026-06-17T06:47:32.1434717Z             },
2026-06-17T06:47:32.1434865Z             {
2026-06-17T06:47:32.1435061Z               "path": "crates/spt-term/tests/stream.rs",
2026-06-17T06:47:32.1435213Z               "line": 67
2026-06-17T06:47:32.1435347Z             }
2026-06-17T06:47:32.1435489Z           ]
2026-06-17T06:47:32.1435624Z         }
2026-06-17T06:47:32.1435757Z       }
2026-06-17T06:47:32.1435896Z     },
2026-06-17T06:47:32.1436042Z     {
2026-06-17T06:47:32.1436197Z       "id": "REQ-TERM-4",
2026-06-17T06:47:32.1436788Z       "title": "Live activity buffer (session digest): projection of normalized session logs, snapshot-pull (spt endpoint digest) + structured-delta-stream contract + api digest-entry push",
2026-06-17T06:47:32.1436951Z       "requiredStages": [
2026-06-17T06:47:32.1437098Z         "impl",
2026-06-17T06:47:32.1437242Z         "unit",
2026-06-17T06:47:32.1437384Z         "int"
2026-06-17T06:47:32.1437533Z       ],
2026-06-17T06:47:32.1437679Z       "stages": {
2026-06-17T06:47:32.1437818Z         "doc": {
2026-06-17T06:47:32.1437985Z           "complete": false,
2026-06-17T06:47:32.1438143Z           "evidence": []
2026-06-17T06:47:32.1438285Z         },
2026-06-17T06:47:32.1438434Z         "impl": {
2026-06-17T06:47:32.1438585Z           "complete": true,
2026-06-17T06:47:32.1438729Z           "evidence": [
2026-06-17T06:47:32.1438858Z             {
2026-06-17T06:47:32.1439166Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-17T06:47:32.1439479Z               "line": 37
2026-06-17T06:47:32.1439617Z             },
2026-06-17T06:47:32.1439761Z             {
2026-06-17T06:47:32.1439951Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-17T06:47:32.1440099Z               "line": 25
2026-06-17T06:47:32.1440237Z             },
2026-06-17T06:47:32.1440381Z             {
2026-06-17T06:47:32.1440571Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-17T06:47:32.1440819Z               "line": 114
2026-06-17T06:47:32.1440961Z             },
2026-06-17T06:47:32.1441091Z             {
2026-06-17T06:47:32.1441286Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-17T06:47:32.1441439Z               "line": 267
2026-06-17T06:47:32.1441586Z             },
2026-06-17T06:47:32.1441721Z             {
2026-06-17T06:47:32.1441914Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-17T06:47:32.1442073Z               "line": 289
2026-06-17T06:47:32.1442205Z             },
2026-06-17T06:47:32.1442354Z             {
2026-06-17T06:47:32.1442543Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-17T06:47:32.1442711Z               "line": 307
2026-06-17T06:47:32.1442853Z             },
2026-06-17T06:47:32.1442988Z             {
2026-06-17T06:47:32.1443177Z               "path": "crates/spt-store/src/history.rs",
2026-06-17T06:47:32.1443326Z               "line": 33
2026-06-17T06:47:32.1443478Z             },
2026-06-17T06:47:32.1443622Z             {
2026-06-17T06:47:32.1443816Z               "path": "crates/spt-term/src/projection.rs",
2026-06-17T06:47:32.1443966Z               "line": 52
2026-06-17T06:47:32.1444097Z             },
2026-06-17T06:47:32.1444245Z             {
2026-06-17T06:47:32.1444433Z               "path": "crates/spt-term/src/projection.rs",
2026-06-17T06:47:32.1444586Z               "line": 180
2026-06-17T06:47:32.1444724Z             },
2026-06-17T06:47:32.1444858Z             {
2026-06-17T06:47:32.1445058Z               "path": "crates/spt-term/src/projection.rs",
2026-06-17T06:47:32.1445202Z               "line": 190
2026-06-17T06:47:32.1445349Z             },
2026-06-17T06:47:32.1445478Z             {
2026-06-17T06:47:32.1445673Z               "path": "crates/spt-term/src/projection.rs",
2026-06-17T06:47:32.1445822Z               "line": 250
2026-06-17T06:47:32.1445969Z             },
2026-06-17T06:47:32.1446112Z             {
2026-06-17T06:47:32.1446297Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T06:47:32.1446452Z               "line": 280
2026-06-17T06:47:32.1446589Z             },
2026-06-17T06:47:32.1446732Z             {
2026-06-17T06:47:32.1446922Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T06:47:32.1447074Z               "line": 291
2026-06-17T06:47:32.1447221Z             },
2026-06-17T06:47:32.1447353Z             {
2026-06-17T06:47:32.1447525Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1447672Z               "line": 1147
2026-06-17T06:47:32.1447821Z             }
2026-06-17T06:47:32.1447958Z           ]
2026-06-17T06:47:32.1448103Z         },
2026-06-17T06:47:32.1448249Z         "int": {
2026-06-17T06:47:32.1448393Z           "complete": true,
2026-06-17T06:47:32.1448536Z           "evidence": [
2026-06-17T06:47:32.1448669Z             {
2026-06-17T06:47:32.1448859Z               "path": "crates/spt-daemon/tests/digest.rs",
2026-06-17T06:47:32.1449071Z               "line": 18
2026-06-17T06:47:32.1449208Z             }
2026-06-17T06:47:32.1449376Z           ]
2026-06-17T06:47:32.1449512Z         },
2026-06-17T06:47:32.1449659Z         "unit": {
2026-06-17T06:47:32.1449810Z           "complete": true,
2026-06-17T06:47:32.1449953Z           "evidence": [
2026-06-17T06:47:32.1450083Z             {
2026-06-17T06:47:32.1450277Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-17T06:47:32.1450426Z               "line": 364
2026-06-17T06:47:32.1450568Z             },
2026-06-17T06:47:32.1450707Z             {
2026-06-17T06:47:32.1450993Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-17T06:47:32.1451149Z               "line": 416
2026-06-17T06:47:32.1451280Z             },
2026-06-17T06:47:32.1451426Z             {
2026-06-17T06:47:32.1451614Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-17T06:47:32.1451760Z               "line": 426
2026-06-17T06:47:32.1451904Z             },
2026-06-17T06:47:32.1452041Z             {
2026-06-17T06:47:32.1452234Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-17T06:47:32.1452469Z               "line": 436
2026-06-17T06:47:32.1452609Z             },
2026-06-17T06:47:32.1452756Z             {
2026-06-17T06:47:32.1452943Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-17T06:47:32.1453094Z               "line": 456
2026-06-17T06:47:32.1453233Z             },
2026-06-17T06:47:32.1453371Z             {
2026-06-17T06:47:32.1453567Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-17T06:47:32.1453714Z               "line": 478
2026-06-17T06:47:32.1453863Z             },
2026-06-17T06:47:32.1454005Z             {
2026-06-17T06:47:32.1454197Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-17T06:47:32.1454348Z               "line": 491
2026-06-17T06:47:32.1454474Z             },
2026-06-17T06:47:32.1454615Z             {
2026-06-17T06:47:32.1454801Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-17T06:47:32.1454960Z               "line": 502
2026-06-17T06:47:32.1455103Z             },
2026-06-17T06:47:32.1455242Z             {
2026-06-17T06:47:32.1455428Z               "path": "crates/spt-store/src/history.rs",
2026-06-17T06:47:32.1455585Z               "line": 108
2026-06-17T06:47:32.1455738Z             },
2026-06-17T06:47:32.1455881Z             {
2026-06-17T06:47:32.1456067Z               "path": "crates/spt-term/src/digest.rs",
2026-06-17T06:47:32.1456219Z               "line": 119
2026-06-17T06:47:32.1456367Z             },
2026-06-17T06:47:32.1456501Z             {
2026-06-17T06:47:32.1456682Z               "path": "crates/spt-term/src/digest.rs",
2026-06-17T06:47:32.1456834Z               "line": 127
2026-06-17T06:47:32.1456973Z             },
2026-06-17T06:47:32.1457116Z             {
2026-06-17T06:47:32.1457307Z               "path": "crates/spt-term/src/projection.rs",
2026-06-17T06:47:32.1457468Z               "line": 474
2026-06-17T06:47:32.1457605Z             },
2026-06-17T06:47:32.1457743Z             {
2026-06-17T06:47:32.1457941Z               "path": "crates/spt-term/src/projection.rs",
2026-06-17T06:47:32.1458095Z               "line": 501
2026-06-17T06:47:32.1458247Z             },
2026-06-17T06:47:32.1458386Z             {
2026-06-17T06:47:32.1458580Z               "path": "crates/spt-term/src/projection.rs",
2026-06-17T06:47:32.1458728Z               "line": 520
2026-06-17T06:47:32.1458876Z             },
2026-06-17T06:47:32.1459096Z             {
2026-06-17T06:47:32.1459302Z               "path": "crates/spt-term/src/projection.rs",
2026-06-17T06:47:32.1459449Z               "line": 535
2026-06-17T06:47:32.1459607Z             },
2026-06-17T06:47:32.1459753Z             {
2026-06-17T06:47:32.1459941Z               "path": "crates/spt-term/src/projection.rs",
2026-06-17T06:47:32.1460096Z               "line": 561
2026-06-17T06:47:32.1460244Z             },
2026-06-17T06:47:32.1460380Z             {
2026-06-17T06:47:32.1460585Z               "path": "crates/spt-term/src/projection.rs",
2026-06-17T06:47:32.1460732Z               "line": 581
2026-06-17T06:47:32.1460876Z             },
2026-06-17T06:47:32.1461010Z             {
2026-06-17T06:47:32.1461206Z               "path": "crates/spt-term/src/projection.rs",
2026-06-17T06:47:32.1461357Z               "line": 591
2026-06-17T06:47:32.1461491Z             },
2026-06-17T06:47:32.1461638Z             {
2026-06-17T06:47:32.1461825Z               "path": "crates/spt-term/src/projection.rs",
2026-06-17T06:47:32.1461978Z               "line": 683
2026-06-17T06:47:32.1462121Z             },
2026-06-17T06:47:32.1462249Z             {
2026-06-17T06:47:32.1462536Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T06:47:32.1462688Z               "line": 881
2026-06-17T06:47:32.1462832Z             },
2026-06-17T06:47:32.1462963Z             {
2026-06-17T06:47:32.1463140Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1463297Z               "line": 9016
2026-06-17T06:47:32.1463435Z             }
2026-06-17T06:47:32.1463574Z           ]
2026-06-17T06:47:32.1463707Z         }
2026-06-17T06:47:32.1463950Z       }
2026-06-17T06:47:32.1464085Z     },
2026-06-17T06:47:32.1464222Z     {
2026-06-17T06:47:32.1464370Z       "id": "REQ-TERM-5",
2026-06-17T06:47:32.1466150Z       "title": "Adapter-declared digest extractor seam: a `[digest]` manifest section declaring an imperative extractor (native harness log -> the {role,text,tool,ts} contract; defaults to the [history] source files with an own-source escape hatch), `api digest-entry` push fallback, register-time validation of the section, adapter-declared presentation defaults (window depth, arg-truncation, sprint-collapse) that any consumer may override, and a `spt adapter digest-proof` author tool plus runtime skip-diagnostics (no silent drop). Reverses M9's no-manifest-seam stance; no declarative DSL.",
2026-06-17T06:47:32.1466327Z       "requiredStages": [
2026-06-17T06:47:32.1466478Z         "doc",
2026-06-17T06:47:32.1466623Z         "impl",
2026-06-17T06:47:32.1466770Z         "unit",
2026-06-17T06:47:32.1466908Z         "int"
2026-06-17T06:47:32.1467056Z       ],
2026-06-17T06:47:32.1467198Z       "stages": {
2026-06-17T06:47:32.1467347Z         "doc": {
2026-06-17T06:47:32.1467494Z           "complete": true,
2026-06-17T06:47:32.1467648Z           "evidence": [
2026-06-17T06:47:32.1467795Z             {
2026-06-17T06:47:32.1467963Z               "path": "docs/MANIFEST.md",
2026-06-17T06:47:32.1468113Z               "line": 170
2026-06-17T06:47:32.1468251Z             }
2026-06-17T06:47:32.1468397Z           ]
2026-06-17T06:47:32.1468545Z         },
2026-06-17T06:47:32.1468688Z         "impl": {
2026-06-17T06:47:32.1468855Z           "complete": true,
2026-06-17T06:47:32.1469083Z           "evidence": [
2026-06-17T06:47:32.1469227Z             {
2026-06-17T06:47:32.1469431Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-17T06:47:32.1469590Z               "line": 75
2026-06-17T06:47:32.1469732Z             },
2026-06-17T06:47:32.1469867Z             {
2026-06-17T06:47:32.1470056Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-17T06:47:32.1470220Z               "line": 131
2026-06-17T06:47:32.1470390Z             },
2026-06-17T06:47:32.1470529Z             {
2026-06-17T06:47:32.1470713Z               "path": "crates/spt-live/src/digest.rs",
2026-06-17T06:47:32.1470870Z               "line": 22
2026-06-17T06:47:32.1471006Z             },
2026-06-17T06:47:32.1471145Z             {
2026-06-17T06:47:32.1471330Z               "path": "crates/spt-live/src/digest.rs",
2026-06-17T06:47:32.1471480Z               "line": 87
2026-06-17T06:47:32.1471626Z             },
2026-06-17T06:47:32.1471770Z             {
2026-06-17T06:47:32.1471955Z               "path": "crates/spt-term/src/digest.rs",
2026-06-17T06:47:32.1472099Z               "line": 30
2026-06-17T06:47:32.1472246Z             },
2026-06-17T06:47:32.1472376Z             {
2026-06-17T06:47:32.1472575Z               "path": "crates/spt-term/src/projection.rs",
2026-06-17T06:47:32.1472719Z               "line": 103
2026-06-17T06:47:32.1472871Z             },
2026-06-17T06:47:32.1473015Z             {
2026-06-17T06:47:32.1473210Z               "path": "crates/spt-term/src/projection.rs",
2026-06-17T06:47:32.1473363Z               "line": 167
2026-06-17T06:47:32.1473504Z             },
2026-06-17T06:47:32.1473647Z             {
2026-06-17T06:47:32.1473838Z               "path": "crates/spt-term/src/projection.rs",
2026-06-17T06:47:32.1473986Z               "line": 434
2026-06-17T06:47:32.1474134Z             },
2026-06-17T06:47:32.1474272Z             {
2026-06-17T06:47:32.1474444Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1474696Z               "line": 5349
2026-06-17T06:47:32.1474844Z             },
2026-06-17T06:47:32.1474988Z             {
2026-06-17T06:47:32.1475168Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1475317Z               "line": 5629
2026-06-17T06:47:32.1475454Z             }
2026-06-17T06:47:32.1475604Z           ]
2026-06-17T06:47:32.1475726Z         },
2026-06-17T06:47:32.1475873Z         "int": {
2026-06-17T06:47:32.1476142Z           "complete": true,
2026-06-17T06:47:32.1476291Z           "evidence": [
2026-06-17T06:47:32.1476438Z             {
2026-06-17T06:47:32.1476663Z               "path": "crates/spt-daemon/tests/two_origin_spanning.rs",
2026-06-17T06:47:32.1476809Z               "line": 17
2026-06-17T06:47:32.1476958Z             }
2026-06-17T06:47:32.1477096Z           ]
2026-06-17T06:47:32.1477230Z         },
2026-06-17T06:47:32.1477377Z         "unit": {
2026-06-17T06:47:32.1477536Z           "complete": true,
2026-06-17T06:47:32.1477687Z           "evidence": [
2026-06-17T06:47:32.1477837Z             {
2026-06-17T06:47:32.1478026Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-17T06:47:32.1478175Z               "line": 375
2026-06-17T06:47:32.1478316Z             },
2026-06-17T06:47:32.1478456Z             {
2026-06-17T06:47:32.1478636Z               "path": "crates/spt-live/src/digest.rs",
2026-06-17T06:47:32.1478788Z               "line": 162
2026-06-17T06:47:32.1478933Z             },
2026-06-17T06:47:32.1479182Z             {
2026-06-17T06:47:32.1479372Z               "path": "crates/spt-live/src/digest.rs",
2026-06-17T06:47:32.1479525Z               "line": 179
2026-06-17T06:47:32.1479667Z             },
2026-06-17T06:47:32.1479811Z             {
2026-06-17T06:47:32.1479991Z               "path": "crates/spt-live/src/digest.rs",
2026-06-17T06:47:32.1480145Z               "line": 201
2026-06-17T06:47:32.1480287Z             },
2026-06-17T06:47:32.1480436Z             {
2026-06-17T06:47:32.1480611Z               "path": "crates/spt-live/src/digest.rs",
2026-06-17T06:47:32.1480765Z               "line": 212
2026-06-17T06:47:32.1480912Z             },
2026-06-17T06:47:32.1481051Z             {
2026-06-17T06:47:32.1481226Z               "path": "crates/spt-live/src/digest.rs",
2026-06-17T06:47:32.1481378Z               "line": 223
2026-06-17T06:47:32.1481519Z             },
2026-06-17T06:47:32.1481662Z             {
2026-06-17T06:47:32.1481848Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T06:47:32.1482016Z               "line": 1311
2026-06-17T06:47:32.1482158Z             },
2026-06-17T06:47:32.1482302Z             {
2026-06-17T06:47:32.1482492Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T06:47:32.1482640Z               "line": 1354
2026-06-17T06:47:32.1482778Z             },
2026-06-17T06:47:32.1482921Z             {
2026-06-17T06:47:32.1483103Z               "path": "crates/spt-term/src/projection.rs",
2026-06-17T06:47:32.1483251Z               "line": 606
2026-06-17T06:47:32.1483406Z             },
2026-06-17T06:47:32.1483546Z             {
2026-06-17T06:47:32.1483735Z               "path": "crates/spt-term/src/projection.rs",
2026-06-17T06:47:32.1483890Z               "line": 634
2026-06-17T06:47:32.1484032Z             },
2026-06-17T06:47:32.1484168Z             {
2026-06-17T06:47:32.1484351Z               "path": "crates/spt-term/src/projection.rs",
2026-06-17T06:47:32.1484517Z               "line": 646
2026-06-17T06:47:32.1484661Z             },
2026-06-17T06:47:32.1484808Z             {
2026-06-17T06:47:32.1484995Z               "path": "crates/spt-term/src/projection.rs",
2026-06-17T06:47:32.1485147Z               "line": 669
2026-06-17T06:47:32.1485295Z             },
2026-06-17T06:47:32.1485428Z             {
2026-06-17T06:47:32.1485600Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1485747Z               "line": 7765
2026-06-17T06:47:32.1485887Z             },
2026-06-17T06:47:32.1486028Z             {
2026-06-17T06:47:32.1486305Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1486457Z               "line": 7823
2026-06-17T06:47:32.1486598Z             }
2026-06-17T06:47:32.1486735Z           ]
2026-06-17T06:47:32.1486880Z         }
2026-06-17T06:47:32.1487022Z       }
2026-06-17T06:47:32.1487156Z     },
2026-06-17T06:47:32.1487289Z     {
2026-06-17T06:47:32.1487448Z       "id": "REQ-TERM-6",
2026-06-17T06:47:32.1488796Z       "title": "Thread-spanning digest across session boundaries: a per-endpoint session ledger (`<perch>/sessions.log`) appended at first bind and by `api boundary` on `/clear`|`/compact` session rotation, the digest enumerating the last K sessions so its rolling window bridges a boundary, and a distinctive in-timeline boundary marker (DigestEntry::Boundary). The digest follows the live-agent thread, not a single session.",
2026-06-17T06:47:32.1489116Z       "requiredStages": [
2026-06-17T06:47:32.1489266Z         "impl",
2026-06-17T06:47:32.1489409Z         "unit",
2026-06-17T06:47:32.1489560Z         "int"
2026-06-17T06:47:32.1489694Z       ],
2026-06-17T06:47:32.1489842Z       "stages": {
2026-06-17T06:47:32.1489985Z         "doc": {
2026-06-17T06:47:32.1490133Z           "complete": false,
2026-06-17T06:47:32.1490290Z           "evidence": []
2026-06-17T06:47:32.1490428Z         },
2026-06-17T06:47:32.1490571Z         "impl": {
2026-06-17T06:47:32.1490719Z           "complete": true,
2026-06-17T06:47:32.1490861Z           "evidence": [
2026-06-17T06:47:32.1491005Z             {
2026-06-17T06:47:32.1491200Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-17T06:47:32.1491349Z               "line": 132
2026-06-17T06:47:32.1491487Z             },
2026-06-17T06:47:32.1491631Z             {
2026-06-17T06:47:32.1491819Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-17T06:47:32.1491967Z               "line": 187
2026-06-17T06:47:32.1492112Z             },
2026-06-17T06:47:32.1492251Z             {
2026-06-17T06:47:32.1492446Z               "path": "crates/spt-store/src/sessions.rs",
2026-06-17T06:47:32.1492595Z               "line": 17
2026-06-17T06:47:32.1492742Z             },
2026-06-17T06:47:32.1492881Z             {
2026-06-17T06:47:32.1493071Z               "path": "crates/spt-store/src/sessions.rs",
2026-06-17T06:47:32.1493224Z               "line": 96
2026-06-17T06:47:32.1493367Z             },
2026-06-17T06:47:32.1493511Z             {
2026-06-17T06:47:32.1493705Z               "path": "crates/spt-term/src/projection.rs",
2026-06-17T06:47:32.1493868Z               "line": 319
2026-06-17T06:47:32.1494011Z             },
2026-06-17T06:47:32.1494155Z             {
2026-06-17T06:47:32.1494344Z               "path": "crates/spt-term/src/projection.rs",
2026-06-17T06:47:32.1494498Z               "line": 396
2026-06-17T06:47:32.1494643Z             }
2026-06-17T06:47:32.1494782Z           ]
2026-06-17T06:47:32.1494921Z         },
2026-06-17T06:47:32.1495062Z         "int": {
2026-06-17T06:47:32.1495226Z           "complete": true,
2026-06-17T06:47:32.1495387Z           "evidence": [
2026-06-17T06:47:32.1495521Z             {
2026-06-17T06:47:32.1495755Z               "path": "crates/spt-daemon/tests/two_origin_spanning.rs",
2026-06-17T06:47:32.1495908Z               "line": 18
2026-06-17T06:47:32.1496056Z             }
2026-06-17T06:47:32.1496188Z           ]
2026-06-17T06:47:32.1496331Z         },
2026-06-17T06:47:32.1496480Z         "unit": {
2026-06-17T06:47:32.1496627Z           "complete": true,
2026-06-17T06:47:32.1496785Z           "evidence": [
2026-06-17T06:47:32.1496931Z             {
2026-06-17T06:47:32.1497126Z               "path": "crates/spt-store/src/sessions.rs",
2026-06-17T06:47:32.1497295Z               "line": 126
2026-06-17T06:47:32.1497430Z             },
2026-06-17T06:47:32.1497572Z             {
2026-06-17T06:47:32.1497754Z               "path": "crates/spt-store/src/sessions.rs",
2026-06-17T06:47:32.1497911Z               "line": 141
2026-06-17T06:47:32.1498041Z             },
2026-06-17T06:47:32.1498192Z             {
2026-06-17T06:47:32.1498478Z               "path": "crates/spt-store/src/sessions.rs",
2026-06-17T06:47:32.1498627Z               "line": 157
2026-06-17T06:47:32.1498779Z             },
2026-06-17T06:47:32.1498918Z             {
2026-06-17T06:47:32.1499165Z               "path": "crates/spt-store/src/sessions.rs",
2026-06-17T06:47:32.1499314Z               "line": 175
2026-06-17T06:47:32.1499456Z             },
2026-06-17T06:47:32.1499601Z             {
2026-06-17T06:47:32.1499794Z               "path": "crates/spt-term/src/projection.rs",
2026-06-17T06:47:32.1500053Z               "line": 738
2026-06-17T06:47:32.1500197Z             },
2026-06-17T06:47:32.1500336Z             {
2026-06-17T06:47:32.1500521Z               "path": "crates/spt-term/src/projection.rs",
2026-06-17T06:47:32.1500669Z               "line": 759
2026-06-17T06:47:32.1500816Z             },
2026-06-17T06:47:32.1500955Z             {
2026-06-17T06:47:32.1501151Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-17T06:47:32.1501303Z               "line": 722
2026-06-17T06:47:32.1501455Z             }
2026-06-17T06:47:32.1501599Z           ]
2026-06-17T06:47:32.1501732Z         }
2026-06-17T06:47:32.1501871Z       }
2026-06-17T06:47:32.1501998Z     },
2026-06-17T06:47:32.1502143Z     {
2026-06-17T06:47:32.1502289Z       "id": "REQ-TERM-7",
2026-06-17T06:47:32.1503669Z       "title": "Two-origin digest merge: spt-owned context-injection entries (psyche_download | echo_mirror | owl_message) appended by spt to the endpoint `digest.log`, timestamp-interleaved with the adapter's extracted activity records into one ordered timeline, via a distinct context-injection record category. Data model only this milestone; GUI collapse/expand and the echo-reads-digest delta loop are deferred to the surfaces that consume them.",
2026-06-17T06:47:32.1503841Z       "requiredStages": [
2026-06-17T06:47:32.1503983Z         "impl",
2026-06-17T06:47:32.1504118Z         "unit",
2026-06-17T06:47:32.1504261Z         "int"
2026-06-17T06:47:32.1504395Z       ],
2026-06-17T06:47:32.1504537Z       "stages": {
2026-06-17T06:47:32.1504671Z         "doc": {
2026-06-17T06:47:32.1504828Z           "complete": false,
2026-06-17T06:47:32.1504977Z           "evidence": []
2026-06-17T06:47:32.1505124Z         },
2026-06-17T06:47:32.1505265Z         "impl": {
2026-06-17T06:47:32.1505428Z           "complete": true,
2026-06-17T06:47:32.1505575Z           "evidence": [
2026-06-17T06:47:32.1505720Z             {
2026-06-17T06:47:32.1505918Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-17T06:47:32.1506072Z               "line": 133
2026-06-17T06:47:32.1506219Z             },
2026-06-17T06:47:32.1506358Z             {
2026-06-17T06:47:32.1506543Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-17T06:47:32.1506692Z               "line": 326
2026-06-17T06:47:32.1506843Z             },
2026-06-17T06:47:32.1506988Z             {
2026-06-17T06:47:32.1507158Z               "path": "crates/spt-live/src/inject.rs",
2026-06-17T06:47:32.1507308Z               "line": 15
2026-06-17T06:47:32.1507458Z             },
2026-06-17T06:47:32.1507601Z             {
2026-06-17T06:47:32.1507785Z               "path": "crates/spt-live/src/inject.rs",
2026-06-17T06:47:32.1507933Z               "line": 32
2026-06-17T06:47:32.1508094Z             },
2026-06-17T06:47:32.1508242Z             {
2026-06-17T06:47:32.1508437Z               "path": "crates/spt-store/src/history.rs",
2026-06-17T06:47:32.1509138Z               "line": 49
2026-06-17T06:47:32.1509502Z             },
2026-06-17T06:47:32.1509793Z             {
2026-06-17T06:47:32.1510136Z               "path": "crates/spt-term/src/projection.rs",
2026-06-17T06:47:32.1510521Z               "line": 286
2026-06-17T06:47:32.1518345Z             },
2026-06-17T06:47:32.1518673Z             {
2026-06-17T06:47:32.1519104Z               "path": "crates/spt-term/src/projection.rs",
2026-06-17T06:47:32.1519495Z               "line": 320
2026-06-17T06:47:32.1519795Z             }
2026-06-17T06:47:32.1520067Z           ]
2026-06-17T06:47:32.1520486Z         },
2026-06-17T06:47:32.1520759Z         "int": {
2026-06-17T06:47:32.1521062Z           "complete": true,
2026-06-17T06:47:32.1521389Z           "evidence": [
2026-06-17T06:47:32.1521675Z             {
2026-06-17T06:47:32.1522042Z               "path": "crates/spt-daemon/tests/two_origin_spanning.rs",
2026-06-17T06:47:32.1522466Z               "line": 19
2026-06-17T06:47:32.1522766Z             }
2026-06-17T06:47:32.1523034Z           ]
2026-06-17T06:47:32.1523307Z         },
2026-06-17T06:47:32.1523684Z         "unit": {
2026-06-17T06:47:32.1523984Z           "complete": true,
2026-06-17T06:47:32.1524299Z           "evidence": [
2026-06-17T06:47:32.1524590Z             {
2026-06-17T06:47:32.1524923Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-17T06:47:32.1525319Z               "line": 455
2026-06-17T06:47:32.1525624Z             },
2026-06-17T06:47:32.1525901Z             {
2026-06-17T06:47:32.1526230Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-17T06:47:32.1526620Z               "line": 566
2026-06-17T06:47:32.1527024Z             },
2026-06-17T06:47:32.1527320Z             {
2026-06-17T06:47:32.1527645Z               "path": "crates/spt-live/src/inject.rs",
2026-06-17T06:47:32.1528007Z               "line": 58
2026-06-17T06:47:32.1528307Z             },
2026-06-17T06:47:32.1528597Z             {
2026-06-17T06:47:32.1528914Z               "path": "crates/spt-live/src/inject.rs",
2026-06-17T06:47:32.1529368Z               "line": 77
2026-06-17T06:47:32.1529673Z             },
2026-06-17T06:47:32.1529954Z             {
2026-06-17T06:47:32.1530268Z               "path": "crates/spt-live/src/inject.rs",
2026-06-17T06:47:32.1530637Z               "line": 87
2026-06-17T06:47:32.1530928Z             },
2026-06-17T06:47:32.1531209Z             {
2026-06-17T06:47:32.1531531Z               "path": "crates/spt-store/src/history.rs",
2026-06-17T06:47:32.1531896Z               "line": 94
2026-06-17T06:47:32.1532186Z             },
2026-06-17T06:47:32.1532468Z             {
2026-06-17T06:47:32.1532807Z               "path": "crates/spt-term/src/projection.rs",
2026-06-17T06:47:32.1533180Z               "line": 691
2026-06-17T06:47:32.1533480Z             },
2026-06-17T06:47:32.1533756Z             {
2026-06-17T06:47:32.1534088Z               "path": "crates/spt-term/src/projection.rs",
2026-06-17T06:47:32.1534472Z               "line": 716
2026-06-17T06:47:32.1534773Z             }
2026-06-17T06:47:32.1535044Z           ]
2026-06-17T06:47:32.1535311Z         }
2026-06-17T06:47:32.1535579Z       }
2026-06-17T06:47:32.1535841Z     },
2026-06-17T06:47:32.1536104Z     {
2026-06-17T06:47:32.1536376Z       "id": "REQ-UPD-1",
2026-06-17T06:47:32.1536729Z       "title": "Peer-propagated update over P2P",
2026-06-17T06:47:32.1537114Z       "requiredStages": [
2026-06-17T06:47:32.1537424Z         "impl",
2026-06-17T06:47:32.1537700Z         "unit",
2026-06-17T06:47:32.1537981Z         "int"
2026-06-17T06:47:32.1538252Z       ],
2026-06-17T06:47:32.1538524Z       "stages": {
2026-06-17T06:47:32.1538796Z         "doc": {
2026-06-17T06:47:32.1539152Z           "complete": false,
2026-06-17T06:47:32.1539469Z           "evidence": []
2026-06-17T06:47:32.1539766Z         },
2026-06-17T06:47:32.1540038Z         "impl": {
2026-06-17T06:47:32.1540324Z           "complete": true,
2026-06-17T06:47:32.1540639Z           "evidence": [
2026-06-17T06:47:32.1540930Z             {
2026-06-17T06:47:32.1541263Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-17T06:47:32.1541653Z               "line": 28
2026-06-17T06:47:32.1541959Z             },
2026-06-17T06:47:32.1542234Z             {
2026-06-17T06:47:32.1542557Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-17T06:47:32.1542943Z               "line": 103
2026-06-17T06:47:32.1543239Z             },
2026-06-17T06:47:32.1543515Z             {
2026-06-17T06:47:32.1543840Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-17T06:47:32.1544220Z               "line": 342
2026-06-17T06:47:32.1544520Z             },
2026-06-17T06:47:32.1544937Z             {
2026-06-17T06:47:32.1545256Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-17T06:47:32.1545633Z               "line": 22
2026-06-17T06:47:32.1545929Z             },
2026-06-17T06:47:32.1546190Z             {
2026-06-17T06:47:32.1546515Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-17T06:47:32.1546878Z               "line": 207
2026-06-17T06:47:32.1547178Z             },
2026-06-17T06:47:32.1547454Z             {
2026-06-17T06:47:32.1547878Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-17T06:47:32.1548251Z               "line": 283
2026-06-17T06:47:32.1548551Z             },
2026-06-17T06:47:32.1548817Z             {
2026-06-17T06:47:32.1549200Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-17T06:47:32.1549562Z               "line": 340
2026-06-17T06:47:32.1549861Z             },
2026-06-17T06:47:32.1550140Z             {
2026-06-17T06:47:32.1550464Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-17T06:47:32.1550822Z               "line": 37
2026-06-17T06:47:32.1551114Z             }
2026-06-17T06:47:32.1551389Z           ]
2026-06-17T06:47:32.1551660Z         },
2026-06-17T06:47:32.1551918Z         "int": {
2026-06-17T06:47:32.1552214Z           "complete": true,
2026-06-17T06:47:32.1552533Z           "evidence": [
2026-06-17T06:47:32.1552822Z             {
2026-06-17T06:47:32.1553146Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-17T06:47:32.1553526Z               "line": 207
2026-06-17T06:47:32.1553823Z             },
2026-06-17T06:47:32.1554099Z             {
2026-06-17T06:47:32.1554409Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-17T06:47:32.1554780Z               "line": 1080
2026-06-17T06:47:32.1555081Z             }
2026-06-17T06:47:32.1555361Z           ]
2026-06-17T06:47:32.1555631Z         },
2026-06-17T06:47:32.1555898Z         "unit": {
2026-06-17T06:47:32.1556193Z           "complete": true,
2026-06-17T06:47:32.1556508Z           "evidence": [
2026-06-17T06:47:32.1556799Z             {
2026-06-17T06:47:32.1557123Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-17T06:47:32.1557496Z               "line": 490
2026-06-17T06:47:32.1557802Z             },
2026-06-17T06:47:32.1558071Z             {
2026-06-17T06:47:32.1558395Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-17T06:47:32.1558772Z               "line": 616
2026-06-17T06:47:32.1559131Z             },
2026-06-17T06:47:32.1559412Z             {
2026-06-17T06:47:32.1559741Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-17T06:47:32.1560127Z               "line": 277
2026-06-17T06:47:32.1560426Z             },
2026-06-17T06:47:32.1560695Z             {
2026-06-17T06:47:32.1561010Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-17T06:47:32.1561373Z               "line": 124
2026-06-17T06:47:32.1561669Z             },
2026-06-17T06:47:32.1561939Z             {
2026-06-17T06:47:32.1562264Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-17T06:47:32.1562627Z               "line": 200
2026-06-17T06:47:32.1562913Z             }
2026-06-17T06:47:32.1563187Z           ]
2026-06-17T06:47:32.1563443Z         }
2026-06-17T06:47:32.1563706Z       }
2026-06-17T06:47:32.1563963Z     },
2026-06-17T06:47:32.1564226Z     {
2026-06-17T06:47:32.1564502Z       "id": "REQ-UPD-2",
2026-06-17T06:47:32.1564879Z       "title": "All binaries signature-verified before handoff",
2026-06-17T06:47:32.1565289Z       "requiredStages": [
2026-06-17T06:47:32.1565590Z         "impl",
2026-06-17T06:47:32.1565873Z         "unit"
2026-06-17T06:47:32.1566148Z       ],
2026-06-17T06:47:32.1566415Z       "stages": {
2026-06-17T06:47:32.1566700Z         "doc": {
2026-06-17T06:47:32.1566987Z           "complete": false,
2026-06-17T06:47:32.1567302Z           "evidence": []
2026-06-17T06:47:32.1567612Z         },
2026-06-17T06:47:32.1567888Z         "impl": {
2026-06-17T06:47:32.1568203Z           "complete": true,
2026-06-17T06:47:32.1568621Z           "evidence": [
2026-06-17T06:47:32.1568922Z             {
2026-06-17T06:47:32.1569362Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-17T06:47:32.1569743Z               "line": 343
2026-06-17T06:47:32.1570048Z             },
2026-06-17T06:47:32.1570320Z             {
2026-06-17T06:47:32.1570650Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-17T06:47:32.1571037Z               "line": 476
2026-06-17T06:47:32.1571436Z             },
2026-06-17T06:47:32.1571718Z             {
2026-06-17T06:47:32.1572047Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T06:47:32.1572423Z               "line": 29
2026-06-17T06:47:32.1572723Z             },
2026-06-17T06:47:32.1572995Z             {
2026-06-17T06:47:32.1573324Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T06:47:32.1573710Z               "line": 271
2026-06-17T06:47:32.1574008Z             },
2026-06-17T06:47:32.1574294Z             {
2026-06-17T06:47:32.1574628Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T06:47:32.1574999Z               "line": 288
2026-06-17T06:47:32.1575295Z             },
2026-06-17T06:47:32.1575572Z             {
2026-06-17T06:47:32.1575901Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T06:47:32.1576276Z               "line": 408
2026-06-17T06:47:32.1576589Z             },
2026-06-17T06:47:32.1576866Z             {
2026-06-17T06:47:32.1577190Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T06:47:32.1577575Z               "line": 558
2026-06-17T06:47:32.1577876Z             },
2026-06-17T06:47:32.1578158Z             {
2026-06-17T06:47:32.1578487Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-17T06:47:32.1578849Z               "line": 155
2026-06-17T06:47:32.1579229Z             }
2026-06-17T06:47:32.1579510Z           ]
2026-06-17T06:47:32.1579782Z         },
2026-06-17T06:47:32.1580055Z         "int": {
2026-06-17T06:47:32.1580359Z           "complete": false,
2026-06-17T06:47:32.1580674Z           "evidence": []
2026-06-17T06:47:32.1580979Z         },
2026-06-17T06:47:32.1581252Z         "unit": {
2026-06-17T06:47:32.1581551Z           "complete": true,
2026-06-17T06:47:32.1581883Z           "evidence": [
2026-06-17T06:47:32.1582178Z             {
2026-06-17T06:47:32.1582508Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T06:47:32.1582883Z               "line": 750
2026-06-17T06:47:32.1583189Z             },
2026-06-17T06:47:32.1583471Z             {
2026-06-17T06:47:32.1583795Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T06:47:32.1584171Z               "line": 811
2026-06-17T06:47:32.1584483Z             },
2026-06-17T06:47:32.1584759Z             {
2026-06-17T06:47:32.1585079Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T06:47:32.1585455Z               "line": 825
2026-06-17T06:47:32.1585746Z             },
2026-06-17T06:47:32.1586019Z             {
2026-06-17T06:47:32.1586348Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T06:47:32.1586714Z               "line": 841
2026-06-17T06:47:32.1587022Z             },
2026-06-17T06:47:32.1587302Z             {
2026-06-17T06:47:32.1587622Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T06:47:32.1587998Z               "line": 932
2026-06-17T06:47:32.1588298Z             },
2026-06-17T06:47:32.1588580Z             {
2026-06-17T06:47:32.1588895Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-17T06:47:32.1589361Z               "line": 414
2026-06-17T06:47:32.1589656Z             },
2026-06-17T06:47:32.1589943Z             {
2026-06-17T06:47:32.1590262Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-17T06:47:32.1590639Z               "line": 427
2026-06-17T06:47:32.1590939Z             },
2026-06-17T06:47:32.1591211Z             {
2026-06-17T06:47:32.1591549Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-17T06:47:32.1592044Z               "line": 410
2026-06-17T06:47:32.1592346Z             }
2026-06-17T06:47:32.1592623Z           ]
2026-06-17T06:47:32.1592895Z         }
2026-06-17T06:47:32.1593153Z       }
2026-06-17T06:47:32.1593420Z     },
2026-06-17T06:47:32.1593697Z     {
2026-06-17T06:47:32.1593979Z       "id": "REQ-UPD-3",
2026-06-17T06:47:32.1594384Z       "title": "No endpoint process terminates/suspends during self-update",
2026-06-17T06:47:32.1594835Z       "requiredStages": [
2026-06-17T06:47:32.1595243Z         "impl",
2026-06-17T06:47:32.1595523Z         "unit",
2026-06-17T06:47:32.1595805Z         "int"
2026-06-17T06:47:32.1596077Z       ],
2026-06-17T06:47:32.1596344Z       "stages": {
2026-06-17T06:47:32.1596626Z         "doc": {
2026-06-17T06:47:32.1596927Z           "complete": false,
2026-06-17T06:47:32.1597251Z           "evidence": []
2026-06-17T06:47:32.1597559Z         },
2026-06-17T06:47:32.1597828Z         "impl": {
2026-06-17T06:47:32.1598129Z           "complete": true,
2026-06-17T06:47:32.1598448Z           "evidence": [
2026-06-17T06:47:32.1598744Z             {
2026-06-17T06:47:32.1599169Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-17T06:47:32.1599550Z               "line": 40
2026-06-17T06:47:32.1599850Z             },
2026-06-17T06:47:32.1600128Z             {
2026-06-17T06:47:32.1600451Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-17T06:47:32.1600827Z               "line": 87
2026-06-17T06:47:32.1601123Z             },
2026-06-17T06:47:32.1601409Z             {
2026-06-17T06:47:32.1601728Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-17T06:47:32.1602100Z               "line": 993
2026-06-17T06:47:32.1602396Z             },
2026-06-17T06:47:32.1602680Z             {
2026-06-17T06:47:32.1602988Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-17T06:47:32.1603360Z               "line": 1085
2026-06-17T06:47:32.1603652Z             },
2026-06-17T06:47:32.1603933Z             {
2026-06-17T06:47:32.1604257Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-17T06:47:32.1604638Z               "line": 26
2026-06-17T06:47:32.1604944Z             },
2026-06-17T06:47:32.1605211Z             {
2026-06-17T06:47:32.1605533Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-17T06:47:32.1605903Z               "line": 114
2026-06-17T06:47:32.1606209Z             },
2026-06-17T06:47:32.1606490Z             {
2026-06-17T06:47:32.1606819Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-17T06:47:32.1607181Z               "line": 246
2026-06-17T06:47:32.1607482Z             },
2026-06-17T06:47:32.1607759Z             {
2026-06-17T06:47:32.1608066Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1608422Z               "line": 2241
2026-06-17T06:47:32.1608733Z             }
2026-06-17T06:47:32.1609085Z           ]
2026-06-17T06:47:32.1609357Z         },
2026-06-17T06:47:32.1609628Z         "int": {
2026-06-17T06:47:32.1609923Z           "complete": true,
2026-06-17T06:47:32.1610248Z           "evidence": [
2026-06-17T06:47:32.1610544Z             {
2026-06-17T06:47:32.1610866Z               "path": "crates/spt/tests/brain_survive.rs",
2026-06-17T06:47:32.1611248Z               "line": 58
2026-06-17T06:47:32.1611549Z             }
2026-06-17T06:47:32.1611820Z           ]
2026-06-17T06:47:32.1612092Z         },
2026-06-17T06:47:32.1612350Z         "unit": {
2026-06-17T06:47:32.1612646Z           "complete": true,
2026-06-17T06:47:32.1612956Z           "evidence": [
2026-06-17T06:47:32.1613259Z             {
2026-06-17T06:47:32.1613596Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-17T06:47:32.1613982Z               "line": 532
2026-06-17T06:47:32.1614278Z             },
2026-06-17T06:47:32.1614560Z             {
2026-06-17T06:47:32.1614883Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-17T06:47:32.1615259Z               "line": 583
2026-06-17T06:47:32.1615560Z             },
2026-06-17T06:47:32.1615838Z             {
2026-06-17T06:47:32.1616267Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-17T06:47:32.1616649Z               "line": 651
2026-06-17T06:47:32.1616949Z             },
2026-06-17T06:47:32.1617221Z             {
2026-06-17T06:47:32.1617545Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-17T06:47:32.1617927Z               "line": 1076
2026-06-17T06:47:32.1618247Z             },
2026-06-17T06:47:32.1618532Z             {
2026-06-17T06:47:32.1618858Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-17T06:47:32.1619416Z               "line": 271
2026-06-17T06:47:32.1619731Z             },
2026-06-17T06:47:32.1620016Z             {
2026-06-17T06:47:32.1620341Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-17T06:47:32.1624937Z               "line": 295
2026-06-17T06:47:32.1625291Z             },
2026-06-17T06:47:32.1625577Z             {
2026-06-17T06:47:32.1625920Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-17T06:47:32.1626308Z               "line": 316
2026-06-17T06:47:32.1626615Z             },
2026-06-17T06:47:32.1626894Z             {
2026-06-17T06:47:32.1627223Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-17T06:47:32.1627591Z               "line": 332
2026-06-17T06:47:32.1627891Z             }
2026-06-17T06:47:32.1628172Z           ]
2026-06-17T06:47:32.1628430Z         }
2026-06-17T06:47:32.1628696Z       }
2026-06-17T06:47:32.1629030Z     },
2026-06-17T06:47:32.1629296Z     {
2026-06-17T06:47:32.1629576Z       "id": "REQ-UPD-4",
2026-06-17T06:47:32.1630014Z       "title": "Update gated on user confirmation by default; opt-in full-auto",
2026-06-17T06:47:32.1630473Z       "requiredStages": [
2026-06-17T06:47:32.1630787Z         "impl",
2026-06-17T06:47:32.1631058Z         "unit"
2026-06-17T06:47:32.1631335Z       ],
2026-06-17T06:47:32.1631602Z       "stages": {
2026-06-17T06:47:32.1631887Z         "doc": {
2026-06-17T06:47:32.1632170Z           "complete": false,
2026-06-17T06:47:32.1632483Z           "evidence": []
2026-06-17T06:47:32.1632788Z         },
2026-06-17T06:47:32.1633061Z         "impl": {
2026-06-17T06:47:32.1633352Z           "complete": true,
2026-06-17T06:47:32.1633662Z           "evidence": [
2026-06-17T06:47:32.1633967Z             {
2026-06-17T06:47:32.1634294Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-17T06:47:32.1634688Z               "line": 41
2026-06-17T06:47:32.1634988Z             },
2026-06-17T06:47:32.1635265Z             {
2026-06-17T06:47:32.1635590Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-17T06:47:32.1635975Z               "line": 88
2026-06-17T06:47:32.1636271Z             },
2026-06-17T06:47:32.1636544Z             {
2026-06-17T06:47:32.1636868Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-17T06:47:32.1637237Z               "line": 23
2026-06-17T06:47:32.1637536Z             },
2026-06-17T06:47:32.1637797Z             {
2026-06-17T06:47:32.1638117Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-17T06:47:32.1638490Z               "line": 56
2026-06-17T06:47:32.1638776Z             },
2026-06-17T06:47:32.1639111Z             {
2026-06-17T06:47:32.1639430Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-17T06:47:32.1639799Z               "line": 77
2026-06-17T06:47:32.1640093Z             },
2026-06-17T06:47:32.1640355Z             {
2026-06-17T06:47:32.1640674Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-17T06:47:32.1641033Z               "line": 211
2026-06-17T06:47:32.1641333Z             },
2026-06-17T06:47:32.1641614Z             {
2026-06-17T06:47:32.1641919Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-17T06:47:32.1642278Z               "line": 108
2026-06-17T06:47:32.1642585Z             },
2026-06-17T06:47:32.1642847Z             {
2026-06-17T06:47:32.1643157Z               "path": "crates/spt-store/src/info.rs",
2026-06-17T06:47:32.1643515Z               "line": 247
2026-06-17T06:47:32.1643806Z             },
2026-06-17T06:47:32.1644246Z             {
2026-06-17T06:47:32.1644546Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1644892Z               "line": 2240
2026-06-17T06:47:32.1645190Z             }
2026-06-17T06:47:32.1645457Z           ]
2026-06-17T06:47:32.1645719Z         },
2026-06-17T06:47:32.1645982Z         "int": {
2026-06-17T06:47:32.1646278Z           "complete": false,
2026-06-17T06:47:32.1646597Z           "evidence": []
2026-06-17T06:47:32.1646888Z         },
2026-06-17T06:47:32.1647255Z         "unit": {
2026-06-17T06:47:32.1647546Z           "complete": true,
2026-06-17T06:47:32.1647853Z           "evidence": [
2026-06-17T06:47:32.1648135Z             {
2026-06-17T06:47:32.1648459Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-17T06:47:32.1648830Z               "line": 579
2026-06-17T06:47:32.1649197Z             },
2026-06-17T06:47:32.1649474Z             {
2026-06-17T06:47:32.1649788Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-17T06:47:32.1650164Z               "line": 704
2026-06-17T06:47:32.1650458Z             },
2026-06-17T06:47:32.1650735Z             {
2026-06-17T06:47:32.1651049Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-17T06:47:32.1651411Z               "line": 384
2026-06-17T06:47:32.1651702Z             },
2026-06-17T06:47:32.1651979Z             {
2026-06-17T06:47:32.1652294Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-17T06:47:32.1652660Z               "line": 102
2026-06-17T06:47:32.1652961Z             },
2026-06-17T06:47:32.1653242Z             {
2026-06-17T06:47:32.1653547Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-17T06:47:32.1653914Z               "line": 123
2026-06-17T06:47:32.1654210Z             },
2026-06-17T06:47:32.1654491Z             {
2026-06-17T06:47:32.1654811Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-17T06:47:32.1655159Z               "line": 142
2026-06-17T06:47:32.1655452Z             },
2026-06-17T06:47:32.1655736Z             {
2026-06-17T06:47:32.1656051Z               "path": "crates/spt-store/src/info.rs",
2026-06-17T06:47:32.1656414Z               "line": 525
2026-06-17T06:47:32.1656710Z             },
2026-06-17T06:47:32.1656985Z             {
2026-06-17T06:47:32.1657295Z               "path": "crates/spt-store/src/perch.rs",
2026-06-17T06:47:32.1657659Z               "line": 566
2026-06-17T06:47:32.1657964Z             },
2026-06-17T06:47:32.1658228Z             {
2026-06-17T06:47:32.1658536Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1658899Z               "line": 7518
2026-06-17T06:47:32.1659286Z             }
2026-06-17T06:47:32.1659567Z           ]
2026-06-17T06:47:32.1659833Z         }
2026-06-17T06:47:32.1660096Z       }
2026-06-17T06:47:32.1660353Z     },
2026-06-17T06:47:32.1660616Z     {
2026-06-17T06:47:32.1660891Z       "id": "REQ-UPD-5",
2026-06-17T06:47:32.1661262Z       "title": "spt-core ripple-updates registered adapters",
2026-06-17T06:47:32.1661652Z       "requiredStages": [
2026-06-17T06:47:32.1661957Z         "impl",
2026-06-17T06:47:32.1662234Z         "unit"
2026-06-17T06:47:32.1662506Z       ],
2026-06-17T06:47:32.1662763Z       "stages": {
2026-06-17T06:47:32.1663034Z         "doc": {
2026-06-17T06:47:32.1663325Z           "complete": false,
2026-06-17T06:47:32.1663648Z           "evidence": []
2026-06-17T06:47:32.1663935Z         },
2026-06-17T06:47:32.1664193Z         "impl": {
2026-06-17T06:47:32.1664479Z           "complete": true,
2026-06-17T06:47:32.1664789Z           "evidence": [
2026-06-17T06:47:32.1665080Z             {
2026-06-17T06:47:32.1665409Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-17T06:47:32.1665789Z               "line": 27
2026-06-17T06:47:32.1666088Z             },
2026-06-17T06:47:32.1666364Z             {
2026-06-17T06:47:32.1666693Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-17T06:47:32.1667074Z               "line": 87
2026-06-17T06:47:32.1667369Z             },
2026-06-17T06:47:32.1667647Z             {
2026-06-17T06:47:32.1668080Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-17T06:47:32.1668456Z               "line": 145
2026-06-17T06:47:32.1668761Z             },
2026-06-17T06:47:32.1669124Z             {
2026-06-17T06:47:32.1669435Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T06:47:32.1669798Z               "line": 492
2026-06-17T06:47:32.1670083Z             },
2026-06-17T06:47:32.1670355Z             {
2026-06-17T06:47:32.1670781Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T06:47:32.1671153Z               "line": 546
2026-06-17T06:47:32.1671437Z             }
2026-06-17T06:47:32.1671711Z           ]
2026-06-17T06:47:32.1671968Z         },
2026-06-17T06:47:32.1672240Z         "int": {
2026-06-17T06:47:32.1672531Z           "complete": false,
2026-06-17T06:47:32.1672846Z           "evidence": []
2026-06-17T06:47:32.1673142Z         },
2026-06-17T06:47:32.1673414Z         "unit": {
2026-06-17T06:47:32.1673691Z           "complete": true,
2026-06-17T06:47:32.1674006Z           "evidence": [
2026-06-17T06:47:32.1674294Z             {
2026-06-17T06:47:32.1674629Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-17T06:47:32.1675001Z               "line": 272
2026-06-17T06:47:32.1675301Z             },
2026-06-17T06:47:32.1675568Z             {
2026-06-17T06:47:32.1675903Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-17T06:47:32.1676289Z               "line": 286
2026-06-17T06:47:32.1676592Z             },
2026-06-17T06:47:32.1676871Z             {
2026-06-17T06:47:32.1677195Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-17T06:47:32.1677568Z               "line": 300
2026-06-17T06:47:32.1677868Z             },
2026-06-17T06:47:32.1678140Z             {
2026-06-17T06:47:32.1678474Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-17T06:47:32.1678851Z               "line": 314
2026-06-17T06:47:32.1679222Z             },
2026-06-17T06:47:32.1679506Z             {
2026-06-17T06:47:32.1679704Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-17T06:47:32.1679848Z               "line": 348
2026-06-17T06:47:32.1679986Z             },
2026-06-17T06:47:32.1680120Z             {
2026-06-17T06:47:32.1680310Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T06:47:32.1680458Z               "line": 1001
2026-06-17T06:47:32.1680600Z             }
2026-06-17T06:47:32.1680726Z           ]
2026-06-17T06:47:32.1680878Z         }
2026-06-17T06:47:32.1681012Z       }
2026-06-17T06:47:32.1681154Z     },
2026-06-17T06:47:32.1681283Z     {
2026-06-17T06:47:32.1681440Z       "id": "REQ-UPD-6",
2026-06-17T06:47:32.1682415Z       "title": "Platform-targeted update sets and debug rollout: signed multi-platform update metadata, recipient platform selection, channel-scoped monotonic counters, debug-channel opt-in via release-key overlay, local staging plus pull-based peer propagation, and maintainer-only convergence tooling (ADR-0016)",
2026-06-17T06:47:32.1682571Z       "requiredStages": [
2026-06-17T06:47:32.1682715Z         "doc",
2026-06-17T06:47:32.1682848Z         "impl",
2026-06-17T06:47:32.1682992Z         "unit",
2026-06-17T06:47:32.1683134Z         "int"
2026-06-17T06:47:32.1683264Z       ],
2026-06-17T06:47:32.1683411Z       "stages": {
2026-06-17T06:47:32.1683549Z         "doc": {
2026-06-17T06:47:32.1683706Z           "complete": true,
2026-06-17T06:47:32.1683840Z           "evidence": [
2026-06-17T06:47:32.1683988Z             {
2026-06-17T06:47:32.1684194Z               "path": "docs/DEBUG-CONVERGE-PLAN.md",
2026-06-17T06:47:32.1684340Z               "line": 3
2026-06-17T06:47:32.1684484Z             },
2026-06-17T06:47:32.1684623Z             {
2026-06-17T06:47:32.1684802Z               "path": "docs/DEBUG-ROLLOUT.md",
2026-06-17T06:47:32.1684946Z               "line": 3
2026-06-17T06:47:32.1685093Z             },
2026-06-17T06:47:32.1685237Z             {
2026-06-17T06:47:32.1685470Z               "path": "docs/adr/0016-platform-targeted-update-sets.md",
2026-06-17T06:47:32.1685722Z               "line": 3
2026-06-17T06:47:32.1685866Z             }
2026-06-17T06:47:32.1686009Z           ]
2026-06-17T06:47:32.1686138Z         },
2026-06-17T06:47:32.1686285Z         "impl": {
2026-06-17T06:47:32.1686443Z           "complete": true,
2026-06-17T06:47:32.1686590Z           "evidence": [
2026-06-17T06:47:32.1686734Z             {
2026-06-17T06:47:32.1686929Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-17T06:47:32.1687180Z               "line": 76
2026-06-17T06:47:32.1687316Z             },
2026-06-17T06:47:32.1687455Z             {
2026-06-17T06:47:32.1687645Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-17T06:47:32.1687794Z               "line": 212
2026-06-17T06:47:32.1687941Z             },
2026-06-17T06:47:32.1688080Z             {
2026-06-17T06:47:32.1688265Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-17T06:47:32.1688414Z               "line": 69
2026-06-17T06:47:32.1688566Z             },
2026-06-17T06:47:32.1688695Z             {
2026-06-17T06:47:32.1688871Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-17T06:47:32.1689115Z               "line": 133
2026-06-17T06:47:32.1689252Z             },
2026-06-17T06:47:32.1689387Z             {
2026-06-17T06:47:32.1689576Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-17T06:47:32.1689731Z               "line": 243
2026-06-17T06:47:32.1689871Z             },
2026-06-17T06:47:32.1690009Z             {
2026-06-17T06:47:32.1690207Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-17T06:47:32.1690351Z               "line": 406
2026-06-17T06:47:32.1690493Z             },
2026-06-17T06:47:32.1690632Z             {
2026-06-17T06:47:32.1690822Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-17T06:47:32.1690971Z               "line": 534
2026-06-17T06:47:32.1691109Z             },
2026-06-17T06:47:32.1691252Z             {
2026-06-17T06:47:32.1691438Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-17T06:47:32.1691586Z               "line": 548
2026-06-17T06:47:32.1691733Z             },
2026-06-17T06:47:32.1691867Z             {
2026-06-17T06:47:32.1692052Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-17T06:47:32.1692202Z               "line": 603
2026-06-17T06:47:32.1692348Z             },
2026-06-17T06:47:32.1692476Z             {
2026-06-17T06:47:32.1692670Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-17T06:47:32.1692816Z               "line": 634
2026-06-17T06:47:32.1692937Z             },
2026-06-17T06:47:32.1693079Z             {
2026-06-17T06:47:32.1693271Z               "path": "crates/spt-daemon/src/pump/update.rs",
2026-06-17T06:47:32.1693422Z               "line": 137
2026-06-17T06:47:32.1693562Z             },
2026-06-17T06:47:32.1693699Z             {
2026-06-17T06:47:32.1693891Z               "path": "crates/spt-daemon/src/pump/update.rs",
2026-06-17T06:47:32.1694042Z               "line": 184
2026-06-17T06:47:32.1694182Z             },
2026-06-17T06:47:32.1694319Z             {
2026-06-17T06:47:32.1694506Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-17T06:47:32.1694653Z               "line": 78
2026-06-17T06:47:32.1694802Z             },
2026-06-17T06:47:32.1694943Z             {
2026-06-17T06:47:32.1695131Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-17T06:47:32.1695286Z               "line": 114
2026-06-17T06:47:32.1695434Z             },
2026-06-17T06:47:32.1695568Z             {
2026-06-17T06:47:32.1695758Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-17T06:47:32.1695906Z               "line": 185
2026-06-17T06:47:32.1696040Z             },
2026-06-17T06:47:32.1696178Z             {
2026-06-17T06:47:32.1696369Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-17T06:47:32.1696516Z               "line": 260
2026-06-17T06:47:32.1696654Z             },
2026-06-17T06:47:32.1696898Z             {
2026-06-17T06:47:32.1697094Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-17T06:47:32.1697231Z               "line": 292
2026-06-17T06:47:32.1697367Z             },
2026-06-17T06:47:32.1697508Z             {
2026-06-17T06:47:32.1697693Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-17T06:47:32.1697839Z               "line": 323
2026-06-17T06:47:32.1697977Z             },
2026-06-17T06:47:32.1698111Z             {
2026-06-17T06:47:32.1698416Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-17T06:47:32.1698563Z               "line": 346
2026-06-17T06:47:32.1698707Z             },
2026-06-17T06:47:32.1698840Z             {
2026-06-17T06:47:32.1699107Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-17T06:47:32.1699255Z               "line": 388
2026-06-17T06:47:32.1699393Z             },
2026-06-17T06:47:32.1699531Z             {
2026-06-17T06:47:32.1699717Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-17T06:47:32.1699861Z               "line": 398
2026-06-17T06:47:32.1699990Z             },
2026-06-17T06:47:32.1700127Z             {
2026-06-17T06:47:32.1700319Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-17T06:47:32.1700464Z               "line": 410
2026-06-17T06:47:32.1700608Z             },
2026-06-17T06:47:32.1700743Z             {
2026-06-17T06:47:32.1700926Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-17T06:47:32.1701068Z               "line": 420
2026-06-17T06:47:32.1701217Z             },
2026-06-17T06:47:32.1701354Z             {
2026-06-17T06:47:32.1701531Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-17T06:47:32.1701679Z               "line": 439
2026-06-17T06:47:32.1701812Z             },
2026-06-17T06:47:32.1701959Z             {
2026-06-17T06:47:32.1702142Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-17T06:47:32.1702293Z               "line": 449
2026-06-17T06:47:32.1702427Z             },
2026-06-17T06:47:32.1702580Z             {
2026-06-17T06:47:32.1702757Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T06:47:32.1702904Z               "line": 94
2026-06-17T06:47:32.1703050Z             },
2026-06-17T06:47:32.1703184Z             {
2026-06-17T06:47:32.1703358Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T06:47:32.1703511Z               "line": 120
2026-06-17T06:47:32.1703644Z             },
2026-06-17T06:47:32.1703784Z             {
2026-06-17T06:47:32.1703973Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T06:47:32.1704131Z               "line": 135
2026-06-17T06:47:32.1704259Z             },
2026-06-17T06:47:32.1704394Z             {
2026-06-17T06:47:32.1704574Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T06:47:32.1704723Z               "line": 162
2026-06-17T06:47:32.1704866Z             },
2026-06-17T06:47:32.1705004Z             {
2026-06-17T06:47:32.1705189Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T06:47:32.1705338Z               "line": 174
2026-06-17T06:47:32.1705475Z             },
2026-06-17T06:47:32.1705604Z             {
2026-06-17T06:47:32.1705785Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T06:47:32.1705936Z               "line": 185
2026-06-17T06:47:32.1706076Z             },
2026-06-17T06:47:32.1706218Z             {
2026-06-17T06:47:32.1706409Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T06:47:32.1706561Z               "line": 451
2026-06-17T06:47:32.1706700Z             },
2026-06-17T06:47:32.1706833Z             {
2026-06-17T06:47:32.1707024Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T06:47:32.1707171Z               "line": 573
2026-06-17T06:47:32.1707316Z             },
2026-06-17T06:47:32.1707453Z             {
2026-06-17T06:47:32.1707640Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-17T06:47:32.1707791Z               "line": 171
2026-06-17T06:47:32.1708034Z             },
2026-06-17T06:47:32.1708176Z             {
2026-06-17T06:47:32.1708352Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-17T06:47:32.1708498Z               "line": 65
2026-06-17T06:47:32.1708643Z             },
2026-06-17T06:47:32.1708779Z             {
2026-06-17T06:47:32.1709038Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-17T06:47:32.1709181Z               "line": 71
2026-06-17T06:47:32.1709324Z             },
2026-06-17T06:47:32.1709558Z             {
2026-06-17T06:47:32.1709752Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-17T06:47:32.1709896Z               "line": 77
2026-06-17T06:47:32.1710025Z             },
2026-06-17T06:47:32.1710164Z             {
2026-06-17T06:47:32.1710335Z               "path": "crates/xtask/src/main.rs",
2026-06-17T06:47:32.1710484Z               "line": 778
2026-06-17T06:47:32.1710611Z             },
2026-06-17T06:47:32.1710755Z             {
2026-06-17T06:47:32.1710930Z               "path": "crates/xtask/src/main.rs",
2026-06-17T06:47:32.1711082Z               "line": 795
2026-06-17T06:47:32.1711219Z             },
2026-06-17T06:47:32.1711356Z             {
2026-06-17T06:47:32.1711533Z               "path": "crates/xtask/src/main.rs",
2026-06-17T06:47:32.1711680Z               "line": 838
2026-06-17T06:47:32.1711825Z             },
2026-06-17T06:47:32.1711966Z             {
2026-06-17T06:47:32.1712130Z               "path": "crates/xtask/src/main.rs",
2026-06-17T06:47:32.1712281Z               "line": 981
2026-06-17T06:47:32.1712420Z             },
2026-06-17T06:47:32.1712558Z             {
2026-06-17T06:47:32.1712726Z               "path": "crates/xtask/src/main.rs",
2026-06-17T06:47:32.1712872Z               "line": 1131
2026-06-17T06:47:32.1713017Z             }
2026-06-17T06:47:32.1713145Z           ]
2026-06-17T06:47:32.1713283Z         },
2026-06-17T06:47:32.1713417Z         "int": {
2026-06-17T06:47:32.1713573Z           "complete": true,
2026-06-17T06:47:32.1713720Z           "evidence": [
2026-06-17T06:47:32.1713856Z             {
2026-06-17T06:47:32.1714053Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-17T06:47:32.1714194Z               "line": 569
2026-06-17T06:47:32.1714344Z             },
2026-06-17T06:47:32.1714477Z             {
2026-06-17T06:47:32.1714663Z               "path": "docs/DEBUG-CONVERGE-PLAN.md",
2026-06-17T06:47:32.1714815Z               "line": 135
2026-06-17T06:47:32.1714954Z             }
2026-06-17T06:47:32.1715091Z           ]
2026-06-17T06:47:32.1715225Z         },
2026-06-17T06:47:32.1715373Z         "unit": {
2026-06-17T06:47:32.1715521Z           "complete": true,
2026-06-17T06:47:32.1715669Z           "evidence": [
2026-06-17T06:47:32.1715797Z             {
2026-06-17T06:47:32.1715993Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-17T06:47:32.1716140Z               "line": 624
2026-06-17T06:47:32.1716270Z             },
2026-06-17T06:47:32.1716411Z             {
2026-06-17T06:47:32.1716602Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-17T06:47:32.1716764Z               "line": 673
2026-06-17T06:47:32.1716908Z             },
2026-06-17T06:47:32.1717036Z             {
2026-06-17T06:47:32.1717223Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-17T06:47:32.1717364Z               "line": 696
2026-06-17T06:47:32.1717508Z             },
2026-06-17T06:47:32.1717632Z             {
2026-06-17T06:47:32.1717823Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-17T06:47:32.1717980Z               "line": 513
2026-06-17T06:47:32.1718109Z             },
2026-06-17T06:47:32.1718252Z             {
2026-06-17T06:47:32.1718443Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-17T06:47:32.1718580Z               "line": 638
2026-06-17T06:47:32.1718713Z             },
2026-06-17T06:47:32.1718856Z             {
2026-06-17T06:47:32.1719136Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-17T06:47:32.1719288Z               "line": 675
2026-06-17T06:47:32.1719522Z             },
2026-06-17T06:47:32.1719659Z             {
2026-06-17T06:47:32.1719841Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T06:47:32.1719988Z               "line": 947
2026-06-17T06:47:32.1720132Z             },
2026-06-17T06:47:32.1720274Z             {
2026-06-17T06:47:32.1720456Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T06:47:32.1720613Z               "line": 969
2026-06-17T06:47:32.1720748Z             },
2026-06-17T06:47:32.1720986Z             {
2026-06-17T06:47:32.1721171Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T06:47:32.1721315Z               "line": 986
2026-06-17T06:47:32.1721462Z             },
2026-06-17T06:47:32.1721599Z             {
2026-06-17T06:47:32.1721779Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T06:47:32.1721930Z               "line": 1001
2026-06-17T06:47:32.1722070Z             },
2026-06-17T06:47:32.1722198Z             {
2026-06-17T06:47:32.1722389Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T06:47:32.1722550Z               "line": 1027
2026-06-17T06:47:32.1722685Z             },
2026-06-17T06:47:32.1722817Z             {
2026-06-17T06:47:32.1722999Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-17T06:47:32.1723147Z               "line": 457
2026-06-17T06:47:32.1723286Z             },
2026-06-17T06:47:32.1723437Z             {
2026-06-17T06:47:32.1723639Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-17T06:47:32.1723781Z               "line": 338
2026-06-17T06:47:32.1723911Z             },
2026-06-17T06:47:32.1724048Z             {
2026-06-17T06:47:32.1724218Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1724369Z               "line": 9756
2026-06-17T06:47:32.1724507Z             },
2026-06-17T06:47:32.1724651Z             {
2026-06-17T06:47:32.1724822Z               "path": "crates/xtask/src/main.rs",
2026-06-17T06:47:32.1724970Z               "line": 1260
2026-06-17T06:47:32.1725112Z             },
2026-06-17T06:47:32.1725251Z             {
2026-06-17T06:47:32.1725436Z               "path": "docs/DEBUG-CONVERGE-PLAN.md",
2026-06-17T06:47:32.1725576Z               "line": 130
2026-06-17T06:47:32.1725722Z             }
2026-06-17T06:47:32.1725857Z           ]
2026-06-17T06:47:32.1726000Z         }
2026-06-17T06:47:32.1726129Z       }
2026-06-17T06:47:32.1726271Z     },
2026-06-17T06:47:32.1726410Z     {
2026-06-17T06:47:32.1726567Z       "id": "REQ-UPD-7",
2026-06-17T06:47:32.1729090Z       "title": "Origin-source update bootstrap (`spt update fetch`): pull the latest signed release directly from the GitHub release origin (`SaberMage/spt-releases`) — the per-platform artifact + its `<asset>.release.json` SignedRelease metadata — and stage it through the EXISTING verify→stage pipeline (the same `plan_verified` gate: two-key signature + channel + monotonic rollback floor + SHA-256), after which the normal consent-notif / `spt update apply` flow is unchanged. Closes the peer-only-discovery gap (REQ-UPD-1): a first-in-fleet / isolated node can update with no peer to pull from. The signed-release anchor keeps the GitHub transport untrusted-but-verified.",
2026-06-17T06:47:32.1729263Z       "requiredStages": [
2026-06-17T06:47:32.1729407Z         "impl",
2026-06-17T06:47:32.1729557Z         "unit"
2026-06-17T06:47:32.1729691Z       ],
2026-06-17T06:47:32.1733240Z       "stages": {
2026-06-17T06:47:32.1733411Z         "doc": {
2026-06-17T06:47:32.1733574Z           "complete": false,
2026-06-17T06:47:32.1733745Z           "evidence": []
2026-06-17T06:47:32.1733874Z         },
2026-06-17T06:47:32.1734012Z         "impl": {
2026-06-17T06:47:32.1734161Z           "complete": true,
2026-06-17T06:47:32.1734312Z           "evidence": [
2026-06-17T06:47:32.1734447Z             {
2026-06-17T06:47:32.1734622Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1734774Z               "line": 2425
2026-06-17T06:47:32.1734915Z             }
2026-06-17T06:47:32.1735043Z           ]
2026-06-17T06:47:32.1735324Z         },
2026-06-17T06:47:32.1735468Z         "int": {
2026-06-17T06:47:32.1735620Z           "complete": false,
2026-06-17T06:47:32.1735773Z           "evidence": []
2026-06-17T06:47:32.1735902Z         },
2026-06-17T06:47:32.1736040Z         "unit": {
2026-06-17T06:47:32.1736193Z           "complete": true,
2026-06-17T06:47:32.1736340Z           "evidence": [
2026-06-17T06:47:32.1736479Z             {
2026-06-17T06:47:32.1736645Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1736894Z               "line": 9732
2026-06-17T06:47:32.1737019Z             }
2026-06-17T06:47:32.1737146Z           ]
2026-06-17T06:47:32.1737285Z         }
2026-06-17T06:47:32.1737424Z       }
2026-06-17T06:47:32.1737569Z     },
2026-06-17T06:47:32.1737693Z     {
2026-06-17T06:47:32.1737846Z       "id": "REQ-UPD-8",
2026-06-17T06:47:32.1740746Z       "title": "Platform-safe `spt update fetch` + apply platform-guard (v0.3.1 cross-OS brick fix): `spt update fetch` stages the signed multi-platform `SignedUpdateSet` (`update-set.json` + every platform artifact it names), never a platform-blind single `SignedRelease`, so local apply selects `current_platform()` and P2P re-serve lets each peer select ITS own platform. Defense-in-depth: `apply_staged` REFUSES a staged single-release artifact unless it is platform-stamped for THIS node (an unstamped pre-v0.3.2 single, or a single stamped for another OS, fail-safe refuses — the guard that alone prevents the v0.3.1 brick where a Linux ELF was applied as `spt.exe`). UX: a friendly post-apply message (`Updated spt-core to vX.Y.Z.` + changelog URL) driven by an additive `product_version` metadata field, with a release-counter fallback when absent.",
2026-06-17T06:47:32.1740924Z       "requiredStages": [
2026-06-17T06:47:32.1741061Z         "impl",
2026-06-17T06:47:32.1741205Z         "unit"
2026-06-17T06:47:32.1741334Z       ],
2026-06-17T06:47:32.1741471Z       "stages": {
2026-06-17T06:47:32.1741614Z         "doc": {
2026-06-17T06:47:32.1741776Z           "complete": false,
2026-06-17T06:47:32.1741929Z           "evidence": []
2026-06-17T06:47:32.1742058Z         },
2026-06-17T06:47:32.1742202Z         "impl": {
2026-06-17T06:47:32.1742353Z           "complete": true,
2026-06-17T06:47:32.1742498Z           "evidence": [
2026-06-17T06:47:32.1742634Z             {
2026-06-17T06:47:32.1742829Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-17T06:47:32.1742975Z               "line": 77
2026-06-17T06:47:32.1743123Z             },
2026-06-17T06:47:32.1743265Z             {
2026-06-17T06:47:32.1743458Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-17T06:47:32.1743608Z               "line": 49
2026-06-17T06:47:32.1743748Z             },
2026-06-17T06:47:32.1743872Z             {
2026-06-17T06:47:32.1744067Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-17T06:47:32.1744210Z               "line": 152
2026-06-17T06:47:32.1744358Z             },
2026-06-17T06:47:32.1744491Z             {
2026-06-17T06:47:32.1744678Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-17T06:47:32.1744825Z               "line": 215
2026-06-17T06:47:32.1744958Z             },
2026-06-17T06:47:32.1745097Z             {
2026-06-17T06:47:32.1745276Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-17T06:47:32.1745424Z               "line": 230
2026-06-17T06:47:32.1745565Z             },
2026-06-17T06:47:32.1745699Z             {
2026-06-17T06:47:32.1745880Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-17T06:47:32.1746033Z               "line": 247
2026-06-17T06:47:32.1746175Z             },
2026-06-17T06:47:32.1746310Z             {
2026-06-17T06:47:32.1746500Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-17T06:47:32.1746649Z               "line": 269
2026-06-17T06:47:32.1746781Z             },
2026-06-17T06:47:32.1746920Z             {
2026-06-17T06:47:32.1747101Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T06:47:32.1747254Z               "line": 66
2026-06-17T06:47:32.1747492Z             },
2026-06-17T06:47:32.1747631Z             {
2026-06-17T06:47:32.1747816Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T06:47:32.1747970Z               "line": 154
2026-06-17T06:47:32.1748106Z             },
2026-06-17T06:47:32.1748244Z             {
2026-06-17T06:47:32.1748420Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1748564Z               "line": 2229
2026-06-17T06:47:32.1748707Z             },
2026-06-17T06:47:32.1749036Z             {
2026-06-17T06:47:32.1749208Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1749351Z               "line": 2292
2026-06-17T06:47:32.1749494Z             },
2026-06-17T06:47:32.1749636Z             {
2026-06-17T06:47:32.1749799Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1749942Z               "line": 2302
2026-06-17T06:47:32.1750080Z             },
2026-06-17T06:47:32.1750219Z             {
2026-06-17T06:47:32.1750389Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1750551Z               "line": 2309
2026-06-17T06:47:32.1750692Z             },
2026-06-17T06:47:32.1750816Z             {
2026-06-17T06:47:32.1750982Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1751130Z               "line": 2426
2026-06-17T06:47:32.1751274Z             },
2026-06-17T06:47:32.1751412Z             {
2026-06-17T06:47:32.1751588Z               "path": "crates/xtask/src/main.rs",
2026-06-17T06:47:32.1751746Z               "line": 480
2026-06-17T06:47:32.1751884Z             },
2026-06-17T06:47:32.1752022Z             {
2026-06-17T06:47:32.1752193Z               "path": "crates/xtask/src/main.rs",
2026-06-17T06:47:32.1752337Z               "line": 494
2026-06-17T06:47:32.1752466Z             }
2026-06-17T06:47:32.1752603Z           ]
2026-06-17T06:47:32.1752734Z         },
2026-06-17T06:47:32.1752875Z         "int": {
2026-06-17T06:47:32.1753020Z           "complete": false,
2026-06-17T06:47:32.1753166Z           "evidence": []
2026-06-17T06:47:32.1753308Z         },
2026-06-17T06:47:32.1753441Z         "unit": {
2026-06-17T06:47:32.1753592Z           "complete": true,
2026-06-17T06:47:32.1753740Z           "evidence": [
2026-06-17T06:47:32.1753868Z             {
2026-06-17T06:47:32.1754065Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-17T06:47:32.1754212Z               "line": 476
2026-06-17T06:47:32.1754356Z             },
2026-06-17T06:47:32.1754488Z             {
2026-06-17T06:47:32.1754690Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-17T06:47:32.1754846Z               "line": 580
2026-06-17T06:47:32.1754981Z             },
2026-06-17T06:47:32.1755118Z             {
2026-06-17T06:47:32.1755286Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1755427Z               "line": 9734
2026-06-17T06:47:32.1755563Z             },
2026-06-17T06:47:32.1755690Z             {
2026-06-17T06:47:32.1755865Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1756017Z               "line": 9756
2026-06-17T06:47:32.1756163Z             }
2026-06-17T06:47:32.1756298Z           ]
2026-06-17T06:47:32.1756430Z         }
2026-06-17T06:47:32.1756565Z       }
2026-06-17T06:47:32.1756698Z     },
2026-06-17T06:47:32.1756841Z     {
2026-06-17T06:47:32.1756984Z       "id": "REQ-UPD-9",
2026-06-17T06:47:32.1759911Z       "title": "`gh_release` adapter [update] avenue (optional signing): an adapter declares `[update] avenue = \"gh_release\", repo = \"user/repo\"` (+ optional `asset`, default `adapter.spt`; + optional Ed25519 `signing_key`); spt-core's ripple compares the repo's LATEST GitHub release version against the installed adapter version and, when newer, auto-updates by fetching the release `.spt` archive (the REQ-INSTALL-9 `--release` fetch primitive) → verifies the `.spt` against `signing_key` if declared, else HTTPS+GitHub first-acquisition trust → re-extracts + re-registers the adapter root. Lets a harness adapter ship updates from its own GitHub releases with NO signing tooling or plugin coupling (removes the perri file_pull/delegated avenue blockers). Acquisition-trust mirrors `--release` + the installer first-fetch; does not alter spt-core self-update (REQ-UPD-1..8).",
2026-06-17T06:47:32.1760206Z       "requiredStages": [
2026-06-17T06:47:32.1760340Z         "doc",
2026-06-17T06:47:32.1760483Z         "impl",
2026-06-17T06:47:32.1760621Z         "unit"
2026-06-17T06:47:32.1760760Z       ],
2026-06-17T06:47:32.1760901Z       "stages": {
2026-06-17T06:47:32.1761134Z         "doc": {
2026-06-17T06:47:32.1761290Z           "complete": true,
2026-06-17T06:47:32.1761438Z           "evidence": [
2026-06-17T06:47:32.1761571Z             {
2026-06-17T06:47:32.1761730Z               "path": "CONTEXT.md",
2026-06-17T06:47:32.1761880Z               "line": 93
2026-06-17T06:47:32.1762025Z             },
2026-06-17T06:47:32.1762158Z             {
2026-06-17T06:47:32.1762320Z               "path": "docs/MANIFEST.md",
2026-06-17T06:47:32.1762463Z               "line": 221
2026-06-17T06:47:32.1762606Z             }
2026-06-17T06:47:32.1762735Z           ]
2026-06-17T06:47:32.1762873Z         },
2026-06-17T06:47:32.1763017Z         "impl": {
2026-06-17T06:47:32.1763159Z           "complete": true,
2026-06-17T06:47:32.1763299Z           "evidence": [
2026-06-17T06:47:32.1763435Z             {
2026-06-17T06:47:32.1763637Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-17T06:47:32.1763787Z               "line": 128
2026-06-17T06:47:32.1763930Z             },
2026-06-17T06:47:32.1764071Z             {
2026-06-17T06:47:32.1764257Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T06:47:32.1764405Z               "line": 533
2026-06-17T06:47:32.1764544Z             },
2026-06-17T06:47:32.1764678Z             {
2026-06-17T06:47:32.1764863Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T06:47:32.1765021Z               "line": 404
2026-06-17T06:47:32.1765158Z             },
2026-06-17T06:47:32.1765296Z             {
2026-06-17T06:47:32.1765493Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T06:47:32.1765640Z               "line": 450
2026-06-17T06:47:32.1765773Z             },
2026-06-17T06:47:32.1765908Z             {
2026-06-17T06:47:32.1766093Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T06:47:32.1766237Z               "line": 858
2026-06-17T06:47:32.1766373Z             },
2026-06-17T06:47:32.1766512Z             {
2026-06-17T06:47:32.1766695Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-17T06:47:32.1766848Z               "line": 289
2026-06-17T06:47:32.1766990Z             },
2026-06-17T06:47:32.1767120Z             {
2026-06-17T06:47:32.1767300Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1767450Z               "line": 5374
2026-06-17T06:47:32.1767592Z             },
2026-06-17T06:47:32.1767726Z             {
2026-06-17T06:47:32.1767892Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1768035Z               "line": 5392
2026-06-17T06:47:32.1768178Z             },
2026-06-17T06:47:32.1768316Z             {
2026-06-17T06:47:32.1768478Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1768631Z               "line": 5529
2026-06-17T06:47:32.1768766Z             },
2026-06-17T06:47:32.1768912Z             {
2026-06-17T06:47:32.1769160Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1769307Z               "line": 5550
2026-06-17T06:47:32.1769451Z             },
2026-06-17T06:47:32.1769592Z             {
2026-06-17T06:47:32.1769751Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1769898Z               "line": 5573
2026-06-17T06:47:32.1770037Z             },
2026-06-17T06:47:32.1770165Z             {
2026-06-17T06:47:32.1770329Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1770476Z               "line": 5600
2026-06-17T06:47:32.1770600Z             }
2026-06-17T06:47:32.1770742Z           ]
2026-06-17T06:47:32.1770871Z         },
2026-06-17T06:47:32.1771118Z         "int": {
2026-06-17T06:47:32.1771268Z           "complete": false,
2026-06-17T06:47:32.1771414Z           "evidence": []
2026-06-17T06:47:32.1771552Z         },
2026-06-17T06:47:32.1771680Z         "unit": {
2026-06-17T06:47:32.1771835Z           "complete": true,
2026-06-17T06:47:32.1771975Z           "evidence": [
2026-06-17T06:47:32.1772117Z             {
2026-06-17T06:47:32.1772323Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-17T06:47:32.1772557Z               "line": 259
2026-06-17T06:47:32.1772699Z             },
2026-06-17T06:47:32.1772832Z             {
2026-06-17T06:47:32.1773023Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-17T06:47:32.1773166Z               "line": 657
2026-06-17T06:47:32.1773309Z             },
2026-06-17T06:47:32.1773452Z             {
2026-06-17T06:47:32.1773638Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-17T06:47:32.1773791Z               "line": 1037
2026-06-17T06:47:32.1773929Z             },
2026-06-17T06:47:32.1774077Z             {
2026-06-17T06:47:32.1774244Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1774395Z               "line": 6896
2026-06-17T06:47:32.1774538Z             }
2026-06-17T06:47:32.1774669Z           ]
2026-06-17T06:47:32.1774798Z         }
2026-06-17T06:47:32.1774932Z       }
2026-06-17T06:47:32.1775065Z     },
2026-06-17T06:47:32.1775199Z     {
2026-06-17T06:47:32.1775356Z       "id": "REQ-WHOAMI-1",
2026-06-17T06:47:32.1777236Z       "title": "`spt whoami` is a thin ALIAS for `spt endpoint list` (full output: the SELF pin + the subnet roster) — the standalone bare-id command is dropped (the `id=$(spt whoami)` capture was never a real pattern: env vars don't persist between agent tool calls). The one new render: the `endpoint list` SELF pin carries the Self endpoint's authored `endpoint description` (info::read_info(...).resources) when present, inline after the liveness state. whoami stays a top-level hot-path verb (parse unchanged, REQ-MSG-9).",
2026-06-17T06:47:32.1777404Z       "requiredStages": [
2026-06-17T06:47:32.1777550Z         "doc",
2026-06-17T06:47:32.1777700Z         "impl",
2026-06-17T06:47:32.1777842Z         "unit"
2026-06-17T06:47:32.1777985Z       ],
2026-06-17T06:47:32.1778129Z       "stages": {
2026-06-17T06:47:32.1778276Z         "doc": {
2026-06-17T06:47:32.1778428Z           "complete": true,
2026-06-17T06:47:32.1778580Z           "evidence": [
2026-06-17T06:47:32.1778719Z             {
2026-06-17T06:47:32.1778886Z               "path": "CONTEXT.md",
2026-06-17T06:47:32.1779100Z               "line": 659
2026-06-17T06:47:32.1779240Z             }
2026-06-17T06:47:32.1779382Z           ]
2026-06-17T06:47:32.1779521Z         },
2026-06-17T06:47:32.1779659Z         "impl": {
2026-06-17T06:47:32.1779810Z           "complete": true,
2026-06-17T06:47:32.1779958Z           "evidence": [
2026-06-17T06:47:32.1780105Z             {
2026-06-17T06:47:32.1780273Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1780430Z               "line": 2914
2026-06-17T06:47:32.1780565Z             },
2026-06-17T06:47:32.1780697Z             {
2026-06-17T06:47:32.1780864Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1781012Z               "line": 2942
2026-06-17T06:47:32.1781160Z             }
2026-06-17T06:47:32.1781298Z           ]
2026-06-17T06:47:32.1781427Z         },
2026-06-17T06:47:32.1781570Z         "int": {
2026-06-17T06:47:32.1781722Z           "complete": false,
2026-06-17T06:47:32.1781880Z           "evidence": []
2026-06-17T06:47:32.1782008Z         },
2026-06-17T06:47:32.1782150Z         "unit": {
2026-06-17T06:47:32.1782296Z           "complete": true,
2026-06-17T06:47:32.1782448Z           "evidence": [
2026-06-17T06:47:32.1782588Z             {
2026-06-17T06:47:32.1782763Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1782916Z               "line": 7178
2026-06-17T06:47:32.1783058Z             },
2026-06-17T06:47:32.1783193Z             {
2026-06-17T06:47:32.1783464Z               "path": "crates/spt/src/cli.rs",
2026-06-17T06:47:32.1783617Z               "line": 7231
2026-06-17T06:47:32.1783746Z             }
2026-06-17T06:47:32.1783884Z           ]
2026-06-17T06:47:32.1784027Z         }
2026-06-17T06:47:32.1784160Z       }
2026-06-17T06:47:32.1784303Z     }
2026-06-17T06:47:32.1784437Z   ],
2026-06-17T06:47:32.1784580Z   "findings": []
2026-06-17T06:47:32.1784715Z }
